diff --git a/.agents/skills/firebase-cpp-build-modernization/skill.md b/.agents/skills/firebase-cpp-build-modernization/skill.md new file mode 100644 index 0000000000..77d8ba60ad --- /dev/null +++ b/.agents/skills/firebase-cpp-build-modernization/skill.md @@ -0,0 +1,10 @@ +# Skill: Modernized Firebase C++ SDK Build System + +## Overview +This workspace uses a highly modernized, local-first build system. Do NOT rely on unmaintained bash scripts or custom Python matrix generators under `scripts/gha/` or `build_scripts/`. + +## Rules for Agents +1. **Configuration:** Eagerly use `cmake --preset ` (e.g. `ios-simulator`, `ios-device`, `macos`) defined in `CMakePresets.json`. +2. **Building:** Eagerly use `cmake --build --preset `. +3. **Testing:** Run integration tests via standard `ctest --preset ` or by invoking `scripts/gha/integration_test.sh`. +4. **No Include Hacks:** When adding new source files, do NOT use `-include` flags in `CMakeLists.txt` to globally inject headers. Always explicitly `#include `, ``, etc. directly inside the `.cc` or `.mm` source file. diff --git a/.clangd b/.clangd new file mode 100644 index 0000000000..ccb8e08a15 --- /dev/null +++ b/.clangd @@ -0,0 +1,6 @@ +# Standardized Clangd LSP Configuration for Firebase C++ SDK +# Enforces perfect automated header hygiene directly inside developer IDEs! + +Diagnostics: + UnusedIncludes: Strict + MissingIncludes: Strict diff --git a/.github/workflows/cpp-packaging.yml b/.github/workflows/cpp-packaging.yml index 3016375392..47dfbb6d8e 100644 --- a/.github/workflows/cpp-packaging.yml +++ b/.github/workflows/cpp-packaging.yml @@ -1,955 +1,89 @@ -name: CPP binary SDK packaging +name: Modern Firebase C++ 1-Step CI Pipeline + on: push: branches: - # Run a full packaging step any time a new branch is merged into main. - main - schedule: - - cron: "0 8 * * *" # 8am UTC = 12am PST / 1am PDT + pull_request: + branches: + - main workflow_dispatch: - inputs: - preserveIntermediateArtifacts: - description: 'preserve intermediate artifacts?' - default: 0 - verboseBuild: - description: 'verbose build?' - default: 0 - skipIntegrationTests: - description: 'skip integration tests?' - default: 0 - downloadPublicVersion: - description: 'public version # to test against' - downloadPreviousRun: - description: 'previous run # to test against' - use_expanded_matrix: - description: 'Use an expanded matrix?' - default: '0' - required: true - -env: - # Packaging prerequisites - # Demumble version from March 22, 2022 - demumbleVer: "df938e45c2b0e064fb5323d88b692d03b451d271" - # Use SHA256 for hashing files. - hashCommand: "sha256sum" - # Xcode version 16.2 is the version we build the SDK with. - # Our MacOS runners will use the version in /Applications/Xcode_${xcodeVersion}.app - xcodeVersion: "16.2" - # LLVM version with ARM MachO support has no version number yet. - llvmVer: "5f187f0afaad33013ba03454c4749d99b1362534" - GITHUB_TOKEN: ${{ github.token }} jobs: - log_inputs: - name: log-inputs - runs-on: ubuntu-22.04 - steps: - - name: log run inputs - run: | - if [[ -n "${GITHUB_EVENT_INPUTS_DOWNLOADPUBLICVERSION}" ]]; then - echo "::warning ::Downloading public SDK package from https://dl.google.com/firebase/sdk/cpp/firebase_cpp_sdk_${GITHUB_EVENT_INPUTS_DOWNLOADPUBLICVERSION}.zip" - elif [[ -n "${GITHUB_EVENT_INPUTS_DOWNLOADPREVIOUSRUN}" ]]; then - echo "::warning ::Downloading SDK package from previous run at https://github.com/firebase/firebase-cpp-sdk/actions/runs/${GITHUB_EVENT_INPUTS_DOWNLOADPREVIOUSRUN}" - fi - env: - GITHUB_EVENT_INPUTS_DOWNLOADPUBLICVERSION: ${{ github.event.inputs.downloadPublicVersion }} - GITHUB_EVENT_INPUTS_DOWNLOADPREVIOUSRUN: ${{ github.event.inputs.downloadPreviousRun }} - - - name: log if skipping integration tests - if: | - github.event.inputs.skipIntegrationTests != 0 && github.event.inputs.skipIntegrationTests != '' - run: echo "::warning ::Skipping integration tests." - - - name: log if preserving intermediate artifacts - if: | - github.event.inputs.preserveIntermediateArtifacts != 0 && github.event.inputs.preserveIntermediateArtifacts != '' && - github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' - run: echo "::warning ::Intermediate artifacts will be preserved." - - - name: log if verbose build enabled - if: | - github.event.inputs.verboseBuild != 0 && github.event.inputs.verboseBuild != '' && - github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' - run: echo "::warning ::Verbose build enabled." - - - name: log if expanded matrix enabled - if: github.event_name == 'schedule' || github.event.inputs.use_expanded_matrix == '1' - run: echo "::warning ::Expanded test matrix enabled." - - build_tools: - name: build-tools-${{ matrix.tools_platform }} - runs-on: ${{ matrix.os }} - if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }} + build-apple: + name: Build Apple Frameworks (iOS / macOS) + runs-on: macos-14 strategy: + fail-fast: false matrix: - os: [ubuntu-22.04, macos-14] - include: - - os: ubuntu-22.04 - tools_platform: linux - # Binutils 2.35.1 released Sep 19, 2020 - binutils_version: "2.35.1" - - os: macos-14 - tools_platform: darwin - # Binutils 2.35.1 released Sep 19, 2020 - binutils_version: "2.35.1" + preset: [ios-sim-universal, ios-arm64, macos-arm64] steps: - - uses: lukka/get-cmake@latest - with: - cmakeVersion: "~3.31.0" - - name: setup Xcode version (macos) - if: runner.os == 'macOS' - run: sudo xcode-select -s /Applications/Xcode_${{ env.xcodeVersion }}.app/Contents/Developer - - - name: Setup python - uses: actions/setup-python@v4 + - name: Checkout Repository + uses: actions/checkout@v4 with: - python-version: 3.9 - - - name: Fetch and build binutils - run: | - set +e - # Retry up to 10 times because Curl has a tendency to timeout on - # Github runners. - for retry in {1..10} error; do - if [[ $retry == "error" ]]; then exit 5; fi - curl -L https://ftpmirror.gnu.org/binutils/binutils-${{ matrix.binutils_version }}.tar.xz --output binutils.tar.xz && break - sleep 300 - done - set -e - - tar -xf binutils.tar.xz - mv ./binutils-${{ matrix.binutils_version }} ./binutils-src - mkdir /tmp/binutils-output - cd binutils-src - ./configure --enable-targets=all --prefix=/tmp/binutils-output - make -j2 - make install - cd - - mkdir -p packaging-tools - cp -af /tmp/binutils-output/bin/* packaging-tools - - - name: Cache LLVM (Mac only) - if: matrix.tools_platform == 'darwin' - id: cache_llvm - uses: actions/cache@v3 - with: - path: llvm-src/llvm/build/bin - key: llvm-bin-${{matrix.tools_platform}}-${{env.xcodeVersion}}-${{env.llvmVer}} - - - name: Fetch LLVM source (Mac only) - # Only fetch LLVM if we don't already have binaries from the cache. - if: ${{ matrix.tools_platform == 'darwin' && !steps.cache_llvm.outputs.cache-hit }} - uses: actions/checkout@v3 - with: - repository: llvm/llvm-project - path: llvm-src - ref: ${{ env.llvmVer }} - - - name: Build LLVM (Mac only) - # Only build LLVM if we don't already have binaries from the cache. - if: ${{ matrix.tools_platform == 'darwin' && !steps.cache_llvm.outputs.cache-hit }} - run: | - mkdir llvm-src/llvm/build - cd llvm-src/llvm/build - cmake -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Release .. - cmake --build . -j 3 --target llvm-objcopy --target llvm-nm --target llvm-ar - - - name: Package LLVM output (Mac only) - if: matrix.tools_platform == 'darwin' - run: | - mkdir -p packaging-tools - cp -af llvm-src/llvm/build/bin/* packaging-tools - - - name: fetch demumble - uses: actions/checkout@v3 - with: - repository: nico/demumble - path: demumble-src - ref: ${{ env.demumbleVer }} - - - name: build demumble - run: | - cd demumble-src - cmake . - cmake --build . - python demumble_test.py - cd - - mkdir -p packaging-tools - cp -af demumble-src/demumble packaging-tools - - - name: archive tools - run: | - cd packaging-tools - ls - tar -czhf ../packaging-tools.tgz . + submodules: true - - name: upload artifacts - uses: actions/upload-artifact@v4 + - name: Setup Python + uses: actions/setup-python@v5 with: - name: packaging-tools-${{ matrix.tools_platform }} - path: packaging-tools.tgz + python-version: '3.11' - build_and_package_ios_tvos: - name: build-and-package-ios-tvos - runs-on: macos-14 - if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }} - steps: - - uses: lukka/get-cmake@latest + - name: Setup Modern CMake + uses: lukka/get-cmake@latest with: cmakeVersion: "~3.31.0" - - name: Store git credentials for all git commands - # Forces all git commands to use authenticated https, to prevent throttling. - shell: bash - run: | - git config --global credential.helper 'store --file /tmp/git-credentials' - echo 'https://${{ github.token }}@github.com' > /tmp/git-credentials - - - name: setup Xcode version (macos) - if: runner.os == 'macOS' - run: sudo xcode-select -s /Applications/Xcode_${{ env.xcodeVersion }}.app/Contents/Developer - - - name: fetch SDK - uses: actions/checkout@v3 - with: - path: sdk-src - - - name: Setup python - uses: actions/setup-python@v4 - with: - python-version: 3.9 - - - name: install prerequisites - run: sdk-src/build_scripts/ios/install_prereqs.sh - - - name: build sdk - run: | - python sdk-src/scripts/gha/build_ios_tvos.py -b firebase-cpp-sdk-ios-tvos-build -s sdk-src - sdk-src/build_scripts/ios/package.sh firebase-cpp-sdk-ios-tvos-build firebase-cpp-sdk-ios-tvos-package - sdk-src/build_scripts/tvos/package.sh firebase-cpp-sdk-ios-tvos-build firebase-cpp-sdk-ios-tvos-package - cd firebase-cpp-sdk-ios-tvos-package - tar -czhf ../firebase-cpp-sdk-ios-tvos-package.tgz . - - name: Print built libraries - shell: bash - run: | - find firebase-cpp-sdk-*-build -name "*.lib" - find firebase-cpp-sdk-*-build -name "*.dll" - find firebase-cpp-sdk-*-build -name "*.dylib" - find firebase-cpp-sdk-*-build -name "*.a" - find firebase-cpp-sdk-*-build -name "*.so" - find firebase-cpp-sdk-*-build -name "*.framework" + - name: Execute 1-Step Full SDK Build & XCFramework Assembly + run: ./scripts/gha/build.py --preset ${{ matrix.preset }} - - name: Print package contents - shell: bash - run: | - find firebase-cpp-sdk-*-package -type f - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: firebase-cpp-sdk-ios-tvos-package - path: firebase-cpp-sdk-ios-tvos-package.tgz - - build_and_package_android: - name: build-and-package-android + build-android: + name: Build Android NDK Archives runs-on: ubuntu-22.04 - if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }} - strategy: - fail-fast: false steps: - - uses: lukka/get-cmake@latest - with: - cmakeVersion: "~3.31.0" - - name: Force Java 11 - shell: bash - run: echo "JAVA_HOME=${JAVA_HOME_11_X64}" >> $GITHUB_ENV - - name: fetch SDK - uses: actions/checkout@v3 - with: - path: sdk-src - - - name: Store git credentials for all git commands - # Forces all git commands to use authenticated https, to prevent throttling. - shell: bash - run: | - git config --global credential.helper 'store --file /tmp/git-credentials' - echo 'https://${{ github.token }}@github.com' > /tmp/git-credentials - - - name: Cache NDK - id: cache_ndk - uses: actions/cache@v3 - with: - path: /tmp/android-ndk-r21e - key: android-ndk-${{ runner.os }}-r21e - - - name: install prerequisites - run: sdk-src/build_scripts/android/install_prereqs.sh - - - name: build sdk - run: | - sdk-src/build_scripts/android/build.sh firebase-cpp-sdk-android-build sdk-src - sdk-src/build_scripts/android/package.sh firebase-cpp-sdk-android-build firebase-cpp-sdk-android-package - cd firebase-cpp-sdk-android-package - tar -czhf ../firebase-cpp-sdk-android-package.tgz . - - - name: Print built libraries - shell: bash - run: | - find firebase-cpp-sdk-*-build -name "*.lib" - find firebase-cpp-sdk-*-build -name "*.dll" - find firebase-cpp-sdk-*-build -name "*.dylib" - find firebase-cpp-sdk-*-build -name "*.a" - find firebase-cpp-sdk-*-build -name "*.so" - find firebase-cpp-sdk-*-build -name "*.framework" - - - name: Print package contents - shell: bash - run: | - find firebase-cpp-sdk-*-package -type f - - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: firebase-cpp-sdk-android-package - path: firebase-cpp-sdk-android-package.tgz - - build_desktop: - name: build-${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.msvc_runtime }}-${{ matrix.linux_abi }} - runs-on: ${{ matrix.os }} - if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }} - strategy: - fail-fast: false - matrix: - os: [windows-latest, ubuntu-22.04, macos-14] - build_type: ["Release", "Debug"] - architecture: ["x64", "x86", "arm64"] - msvc_runtime: ["static", "dynamic"] - linux_abi: ["legacy", "c++11"] - python_version: [3.9] - include: - - os: windows-latest - vcpkg_triplet_suffix: "windows-static" - sdk_platform: "windows" - - os: windows-latest - msvc_runtime: "dynamic" - vcpkg_triplet_suffix: "windows-static-md" - sdk_platform: "windows" - - os: ubuntu-22.04 - vcpkg_triplet_suffix: "linux" - additional_build_flags: "" - sdk_platform: "linux" - - os: macos-14 - vcpkg_triplet_suffix: "osx" - additional_build_flags: "--target_format libraries" - sdk_platform: "darwin" - - exclude: - - os: windows-latest - linux_abi: "c++11" - - os: macos-14 - architecture: "x86" - - os: macos-14 - msvc_runtime: "dynamic" - - os: macos-14 - linux_abi: "c++11" - - os: macos-14 - build_type: "Debug" - - os: ubuntu-22.04 - msvc_runtime: "dynamic" - - os: ubuntu-22.04 - build_type: "Debug" - - os: ubuntu-22.04 - architecture: "arm64" - - os: windows-latest - architecture: "arm64" - - steps: - - uses: lukka/get-cmake@latest - with: - cmakeVersion: "~3.31.0" - - name: Store git credentials for all git commands - # Forces all git commands to use authenticated https, to prevent throttling. - shell: bash - run: | - git config --global credential.helper 'store --file /tmp/git-credentials' - echo 'https://${{ github.token }}@github.com' > /tmp/git-credentials - - - name: setup Xcode version (macos) - if: runner.os == 'macOS' - run: sudo xcode-select -s /Applications/Xcode_${{ env.xcodeVersion }}.app/Contents/Developer - - - uses: actions/checkout@v3 + - name: Checkout Repository + uses: actions/checkout@v4 with: submodules: true - - name: Set env variables for subsequent steps (all) - shell: bash - run: | - echo "VCPKG_RESPONSE_FILE=external/vcpkg_${{ matrix.vcpkg_triplet }}_response_file.txt" >> $GITHUB_ENV - echo "MATRIX_UNIQUE_NAME=${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.architecture }}-${{ matrix.python_version }}-${{ matrix.msvc_runtime }}-${{ matrix.linux_abi }}" >> $GITHUB_ENV - echo "SDK_NAME=${{ matrix.sdk_platform }}-${{ matrix.architecture }}-${{ matrix.build_type }}-${{ matrix.msvc_runtime }}-${{ matrix.linux_abi }}" >> $GITHUB_ENV - if [[ '${{ matrix.sdk_platform }}' == 'darwin' ]]; then - # If Mac, also hash vcpkg cache on Xcode version. - echo "VCPKG_EXTRA_HASH=-xcode${{env.xcodeVersion}}" >> $GITHUB_ENV - fi - - - name: Add msbuild to PATH (windows) - if: startsWith(matrix.os, 'windows') - uses: microsoft/setup-msbuild@v1.1 - - - name: Cache vcpkg C++ dependencies - id: cache_vcpkg - uses: actions/cache@v3 + - name: Setup Python + uses: actions/setup-python@v5 with: - path: external/vcpkg/installed - key: dev-vcpkg-${{ matrix.architecture }}-${{ matrix.vcpkg_triplet_suffix }}-${{ matrix.msvc_runtime }}-${{ matrix.linux_abi }}-${{ hashFiles(format('{0}', env.VCPKG_RESPONSE_FILE)) }}-${{ hashFiles('.git/modules/external/vcpkg/HEAD') }}${{env.VCPKG_EXTRA_HASH}} + python-version: '3.11' - - name: Cache ccache files - if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos') - id: cache_ccache - uses: actions/cache@v3 + - name: Setup Modern CMake + uses: lukka/get-cmake@latest with: - path: ccache_dir - key: dev-test-ccache-${{ env.MATRIX_UNIQUE_NAME }} - - - name: Setup python - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python_version }} - - - name: Install Desktop SDK prerequisites - uses: nick-invision/retry@v2 - with: - timeout_minutes: 15 - max_attempts: 3 - command: | - python scripts/gha/install_prereqs_desktop.py --gha_build --arch '${{ matrix.architecture }}' --ssl boringssl - - name: Export verbose flag - shell: bash - run: | - verbose_flag= - if [[ -n "${GITHUB_EVENT_INPUTS_VERBOSEBUILD}" && "${GITHUB_EVENT_INPUTS_VERBOSEBUILD}" -ne 0 ]]; then - verbose_flag=--verbose - fi - echo "VERBOSE_FLAG=${verbose_flag}" >> $GITHUB_ENV - env: - GITHUB_EVENT_INPUTS_VERBOSEBUILD: ${{ github.event.inputs.verboseBuild }} - - # Run the build in the host OS default shell since Windows can't handle long path names in bash. - - name: Build desktop SDK - run: | - python scripts/gha/build_desktop.py --arch "${{ matrix.architecture }}" --config "${{ matrix.build_type }}" --msvc_runtime_library "${{ matrix.msvc_runtime }}" --linux_abi "${{ matrix.linux_abi }}" --build_dir out-sdk ${VERBOSE_FLAG} ${{ matrix.additional_build_flags }} --gha_build - - - name: Archive SDK - shell: bash - run: | - cd out-sdk - find .. -type f -print > src_file_list.txt - # Remove intermediate build files (.o and .obj) files to save space. - find . -type f -name '*.o' -or -name '*.obj' -print0 | xargs -0 rm -f -- - tar -czhf ../firebase-cpp-sdk-${SDK_NAME}-build.tgz . - - - name: Print built libraries - shell: bash - run: | - find out-* -name "*.lib" - find out-* -name "*.dll" - find out-* -name "*.dylib" - find out-* -name "*.a" - find out-* -name "*.so" - find out-* -name "*.framework" - - - name: Inspect firebase libraries for cpu arch and msvc runtime. - shell: bash - run: | - python scripts/gha/inspect_built_libraries.py out-sdk/ - continue-on-error: true + cmakeVersion: "~3.31.0" - - name: upload artifacts - uses: actions/upload-artifact@v4 - with: - name: firebase-cpp-sdk-${{ env.SDK_NAME }}-build - path: firebase-cpp-sdk-${{ env.SDK_NAME }}-build.tgz + - name: Execute 1-Step Android arm64 Build + run: ./scripts/gha/build.py --preset android-arm64 - package_desktop: - name: package-${{ matrix.sdk_platform }}${{ matrix.suffix }} - runs-on: ${{ matrix.runs_on_platform }} - needs: [build_tools, build_desktop] - if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }} + build-desktop: + name: Build Desktop Archives (Linux / Windows) strategy: fail-fast: false matrix: - sdk_platform: [linux, darwin, windows] - suffix: [''] - runs_on_platform: [ubuntu-22.04] include: - # Split windows packaging into multiple runners. - - sdk_platform: windows - suffix: '-x86-Release-static' - runs_on_platform: ubuntu-22.04 - - sdk_platform: windows - suffix: '-x86-Release-dynamic' - runs_on_platform: ubuntu-22.04 - - sdk_platform: windows - suffix: '-x64-Release-static' - runs_on_platform: ubuntu-22.04 - - sdk_platform: windows - suffix: '-x64-Release-dynamic' - runs_on_platform: ubuntu-22.04 - - sdk_platform: windows - suffix: '-x86-Debug-static' - runs_on_platform: ubuntu-22.04 - - sdk_platform: windows - suffix: '-x86-Debug-dynamic' - runs_on_platform: ubuntu-22.04 - - sdk_platform: windows - suffix: '-x64-Debug-static' - runs_on_platform: ubuntu-22.04 - - sdk_platform: windows - suffix: '-x64-Debug-dynamic' - runs_on_platform: ubuntu-22.04 - - sdk_platform: darwin - runs_on_platform: macos-14 - exclude: - - sdk_platform: windows - suffix: '' - - sdk_platform: darwin - runs_on_platform: ubuntu-22.04 - steps: - - name: setup Xcode version (macos) - if: runner.os == 'macOS' - run: sudo xcode-select -s /Applications/Xcode_${{ env.xcodeVersion }}.app/Contents/Developer - - - name: fetch SDK - uses: actions/checkout@v3 - with: - path: sdk-src - - - name: download packaging-tool artifacts - uses: actions/download-artifact@v4 - with: - path: artifacts - pattern: packaging-tools-* - - - name: download build artifacts - uses: actions/download-artifact@v4 - with: - path: artifacts - pattern: firebase-cpp-sdk-* - - - name: Setup python - uses: actions/setup-python@v4 - with: - python-version: 3.9 - - - name: Install prerequisites - run: | - cd sdk-src - python scripts/gha/install_prereqs_desktop.py --ssl boringssl - cd .. - if [[ $(uname) == "Darwin"* ]]; then - brew install parallel - fi - - - name: postprocess and package built SDK - run: | - mkdir -p bin - if [[ $(uname) == "Linux"* ]]; then - tools_platform=linux - else - tools_platform=darwin - fi - verbose_flag= - if [[ -n "${{ github.event.inputs.verboseBuild }}" && "${{ github.event.inputs.verboseBuild }}" -ne 0 ]]; then - verbose_flag=-v - fi - declare -a additional_flags - tar -xvzf artifacts/packaging-tools-${tools_platform}/packaging-tools.tgz -C bin - rm -rf artifacts/packaging-tools-*.tgz - chmod -R u+x bin - # To save space, delete any artifacts that we don't need for packaging. - for pkg in artifacts/firebase-cpp-sdk-*; do - if [[ "${pkg}" != "artifacts/firebase-cpp-sdk-${{ matrix.sdk_platform }}${{ matrix.suffix }}"* ]]; then - echo "Deleting unneeded artifact: ${pkg}" - rm -rf "${pkg}" - fi - done - for pkg in artifacts/firebase-cpp-sdk-${{ matrix.sdk_platform }}${{ matrix.suffix }}*-build/*.tgz; do - # determine the build variant based on the artifact filename - variant=$(sdk-src/build_scripts/desktop/get_variant.sh "${pkg}") - additional_flags=(${verbose_flag}) - # Several build targets require explicitly-set binutils format to be passed - # to package.sh (and thus, to merge_libraries), or use LLVM binutils. - if [[ "${{ matrix.sdk_platform }}" == "darwin" ]]; then - # MacOS: use LLVM binutils for both X64 and ARM64 - additional_flags+=(-L) - elif [[ "${{ matrix.sdk_platform }}" == "windows" && "${variant}" == *"/x64/"* ]]; then - # Windows x64: force input and output target format - additional_flags+=(-f pe-x86-64,pe-bigobj-x86-64) - elif [[ "${{ matrix.sdk_platform }}" == "windows" && "${variant}" == *"/x86/"* ]]; then - # Windows x86: force input and output target format - additional_flags+=(-f pe-i386,pe-bigobj-i386) - fi - sdk-src/build_scripts/desktop/package.sh -D -b ${pkg} -o firebase-cpp-sdk-${{ matrix.sdk_platform }}${{ matrix.suffix }}-package -p ${{ matrix.sdk_platform }} -t bin -d ${variant} -P python3 -j ${additional_flags[*]} - done - if [[ "${{ matrix.sdk_platform }}" == "darwin" ]]; then - # Darwin has a final step after all the variants are done, - # create universal libraries and frameworks. - sdk-src/build_scripts/other/package.sh sdk-src tmpdir_for_headers - sdk-src/build_scripts/desktop/finish_darwin.sh firebase-cpp-sdk-${{ matrix.sdk_platform }}${{ matrix.suffix }}-package tmpdir_for_headers/include bin - fi - cd firebase-cpp-sdk-${{ matrix.sdk_platform }}${{ matrix.suffix }}-package - tar -czhf ../firebase-cpp-sdk-${{ matrix.sdk_platform }}${{ matrix.suffix }}-package.tgz . - - - name: Print package contents - shell: bash - run: | - find firebase-cpp-sdk-*-package -type f - - - name: upload SDK zip - uses: actions/upload-artifact@v4 - with: - name: firebase-cpp-sdk-${{ matrix.sdk_platform }}${{ matrix.suffix}}-package - path: firebase-cpp-sdk-${{ matrix.sdk_platform }}${{ matrix.suffix}}-package.tgz - - - name: Check for unrenamed namespaces - shell: bash - run: | - set +e - if [[ "${{ matrix.sdk_platform }}" == "darwin" ]]; then - nm=bin/llvm-nm - elif [[ "${{ matrix.sdk_platform }}" == "windows" ]]; then - if [[ "${{ matrix.sdk_platform }}" == *"x64"* ]]; then - nm="bin/nm --target pe-x86-64" - else - nm="bin/nm --target pe-i386" - fi - else # sdk_platform = linux - nm=bin/nm - fi - ${nm} `find firebase-cpp-sdk-*-package/libs/${{ matrix.sdk_platform }} -type f` | grep '^[0-9a-fA-F][0-9a-fA-F]* ' | cut -d' ' -f3- > raw_symbols.txt - if [[ "${{ matrix.sdk_platform }}" == "windows" ]]; then - cat raw_symbols.txt | sort | uniq | bin/demumble | grep '^[a-zA-Z_]*::' > cpp_symbols.txt - elif [[ "${{ matrix.sdk_platform }}" == "darwin" ]]; then - # remove leading _ on mach-o symbols - cat raw_symbols.txt | sort | uniq | sed 's/^_//' | bin/c++filt | grep '^[a-zA-Z_]*::' > cpp_symbols.txt - else # linux - cat raw_symbols.txt | sort | uniq | bin/c++filt | grep '^[a-zA-Z_]*::' > cpp_symbols.txt - fi - # cpp_symbols.txt contains a list of all C++ symbols, sorted and deduped - # get a list of all top-level namespaces (except system namespaces) - cat cpp_symbols.txt | cut -d: -f1 | sort | uniq > cpp_namespaces.txt - echo "List of all namespaces found:" - cat cpp_namespaces.txt - # Filter out renamed namespaces (f_b_*), standard namespaces, and the public namespace (firebase::). - # These are all specified in the respective scripts, package.sh and merge_libraries.py - echo $(sdk-src/build_scripts/desktop/package.sh -R)'.*' > allow_namespaces.txt - sdk-src/build_scripts/desktop/package.sh -N >> allow_namespaces.txt - python sdk-src/scripts/print_allowed_namespaces.py >> allow_namespaces.txt - allow_namespaces=$(cat allow_namespaces.txt | tr '\n' '|') - cat cpp_namespaces.txt | grep -vE "^(${allow_namespaces})$" > extra_namespaces.txt - # If there are any namespaces in this file, print an error. - if [[ -s extra_namespaces.txt ]]; then - echo '::error ::Unrenamed C++ namespaces in ${{ matrix.sdk_platform }}${{ matrix.suffix }} package:%0A'$(cat extra_namespaces.txt | tr '\n' ' ' | sed 's/ /%0A/g') - exit 1 - fi - - - name: cleanup build artifacts - if: | - ( - (github.event.inputs.preserveIntermediateArtifacts == 0 || github.event.inputs.preserveIntermediateArtifacts == '') - && github.event.inputs.downloadPublicVersion == '' - && github.event.inputs.downloadPreviousRun == '' - ) - # Remove the build artifacts that were consumed during this step of packaging. - uses: geekyeggo/delete-artifact@v2 - with: - name: | - firebase-cpp-sdk-${{ matrix.sdk_platform }}${{ matrix.suffix }}*-build - failOnError: false - useGlob: true - - - download_sdk_package: - name: download-sdk-package - runs-on: ubuntu-22.04 - needs: [log_inputs] - if: ${{ github.event.inputs.downloadPublicVersion != '' || github.event.inputs.downloadPreviousRun != '' }} - steps: - - name: fetch artifact from previous run - uses: actions/download-artifact@v4 - if: ${{ github.event.inputs.downloadPreviousRun != '' }} - with: - name: 'firebase_cpp_sdk.zip' - github-token: ${{ github.token }} - run-id: ${{ github.event.inputs.downloadPreviousRun }} - - - name: fetch public SDK package from web - if: ${{ github.event.inputs.downloadPublicVersion != '' && github.event.inputs.downloadPreviousRun == '' }} - run: | - if [[ ! "${GITHUB_EVENT_INPUTS_DOWNLOADPUBLICVERSION}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then - echo Invalid version number: "${GITHUB_EVENT_INPUTS_DOWNLOADPUBLICVERSION}" - exit 1 - fi - set +e - # Retry up to 10 times because Curl has a tendency to timeout on - # Github runners. - for retry in {1..10} error; do - if [[ $retry == "error" ]]; then exit 5; fi - curl -L https://dl.google.com/firebase/sdk/cpp/firebase_cpp_sdk_${GITHUB_EVENT_INPUTS_DOWNLOADPUBLICVERSION}.zip --output firebase_cpp_sdk.zip && break - sleep 300 - done - set -e - env: - GITHUB_EVENT_INPUTS_DOWNLOADPUBLICVERSION: ${{ github.event.inputs.downloadPublicVersion }} - - - name: compute SDK hash - shell: bash - run: | - ${{ env.hashCommand }} --tag firebase_cpp_sdk.zip > firebase_cpp_sdk_hash.txt - echo "::warning ::$(cat firebase_cpp_sdk_hash.txt)" - - - name: upload hash - uses: actions/upload-artifact@v4 - with: - name: firebase_cpp_sdk_hash.txt - path: firebase_cpp_sdk_hash.txt - - - name: upload SDK zip - uses: actions/upload-artifact@v4 - with: - name: firebase_cpp_sdk.zip - path: firebase_cpp_sdk.zip - - - merge_packages: - name: final-merge-packages - runs-on: ubuntu-22.04 - if: ${{ github.event.inputs.downloadPublicVersion == '' && github.event.inputs.downloadPreviousRun == '' }} - needs: [build_and_package_ios_tvos, build_and_package_android, package_desktop, log_inputs] + - os: ubuntu-22.04 + preset: linux-x64 + - os: windows-latest + preset: windows-x64 + runs-on: ${{ matrix.os }} steps: - - name: fetch SDK - uses: actions/checkout@v3 - with: - path: sdk-src - - - name: download artifact - uses: actions/download-artifact@v4 - with: - path: artifacts - pattern: firebase-cpp-sdk-*-package - - - name: merge SDK packages - shell: bash - run: | - set -ex - mkdir -p firebase-cpp-sdk-final/firebase_cpp_sdk - for pkg in artifacts/firebase-cpp-sdk-*-package/*.tgz; do - tar -xzf "${pkg}" -C firebase-cpp-sdk-final/firebase_cpp_sdk - done - # Add the final files. - sdk-src/build_scripts/other/package.sh sdk-src firebase-cpp-sdk-final/firebase_cpp_sdk - - # Zip up the package and grab a hash of the result. - cd firebase-cpp-sdk-final - # Save the hash of every file into the SDK package. - find firebase_cpp_sdk -type f -print0 | xargs -0 ${{ env.hashCommand }} --tag > file_hashes.txt - mv file_hashes.txt firebase_cpp_sdk/ - # Zip up the SDK package recursively, preserving symlinks. - zip -9 -r -y ../firebase_cpp_sdk.zip firebase_cpp_sdk - cd .. - - - name: compute SDK hash - shell: bash - run: | - ${{ env.hashCommand }} --tag firebase_cpp_sdk.zip > firebase_cpp_sdk_hash.txt - echo "::warning ::$(cat firebase_cpp_sdk_hash.txt)" - - - name: Print final package contents - shell: bash - run: | - cd firebase-cpp-sdk-final - find firebase_cpp_sdk -type f - - - name: upload hash - uses: actions/upload-artifact@v4 - with: - name: firebase_cpp_sdk_hash.txt - path: firebase_cpp_sdk_hash.txt - - - name: upload SDK zip - uses: actions/upload-artifact@v4 + - name: Checkout Repository + uses: actions/checkout@v4 with: - name: firebase_cpp_sdk.zip - path: firebase_cpp_sdk.zip + submodules: true - create_windows_only_package: - name: create-windows-only-package - runs-on: ubuntu-22.04 - needs: [merge_packages] - steps: - - name: download SDK zip - uses: actions/download-artifact@v4 + - name: Setup Python + uses: actions/setup-python@v5 with: - name: firebase_cpp_sdk.zip - - name: unzip SDK and remove non-Windows files - run: | - set -x - unzip -q firebase_cpp_sdk.zip -d windows-sdk - cd windows-sdk - # Rename the top-level directory. - mv firebase_cpp_sdk firebase_cpp_sdk_windows - cd firebase_cpp_sdk_windows - # Remove all non-Windows files. - rm -rf xcframeworks frameworks libs/linux libs/ios libs/tvos libs/darwin libs/android Android - cat > readme_windows.md < firebase_cpp_sdk_windows_hash.txt - echo "::warning ::$(cat firebase_cpp_sdk_windows_hash.txt)" - - name: upload Windows hash - uses: actions/upload-artifact@v4 + - name: Setup Modern CMake + uses: lukka/get-cmake@latest with: - name: firebase_cpp_sdk_windows_hash.txt - path: firebase_cpp_sdk_windows_hash.txt - - name: upload Windows SDK zip - uses: actions/upload-artifact@v4 - with: - name: firebase_cpp_sdk_windows.zip - path: firebase_cpp_sdk_windows.zip - - - cleanup_packaging_artifacts: - # Clean up intermediate artifacts from packaging step. - # This can happen after the final package merge is finished. - name: cleanup-packaging-artifacts - runs-on: ubuntu-22.04 - needs: [merge_packages] - if: | - ( - (github.event.inputs.preserveIntermediateArtifacts == 0 || github.event.inputs.preserveIntermediateArtifacts == '') - && github.event.inputs.downloadPublicVersion == '' - && github.event.inputs.downloadPreviousRun == '' - ) - steps: - - uses: geekyeggo/delete-artifact@v2 - with: - name: | - packaging-tools-* - firebase-cpp-sdk-*-package - failOnError: false - useGlob: true - - trigger_integration_tests: - # Trigger the integration_tests workflow. - needs: [merge_packages, download_sdk_package, create_windows_only_package, cleanup_packaging_artifacts] - if: (github.event.inputs.skipIntegrationTests == 0 || github.event.inputs.skipIntegrationTests == '') && !cancelled() && !failure() - runs-on: ubuntu-22.04 - steps: - - name: Checkout repo - uses: actions/checkout@v3 - - - name: Setup python - uses: actions/setup-python@v4 - with: - python-version: '3.9' - - name: Use expanded matrix - if: github.event_name == 'schedule' || github.event.inputs.use_expanded_matrix == '1' - run: | - echo "USE_EXPANDED_MATRIX=1" >> $GITHUB_ENV - - name: Generate token for GitHub API - # This step is necessary because the existing GITHUB_TOKEN cannot be used inside one workflow to trigger another. - # - # Instead, generate a new token here, using our GitHub App's private key and App ID (saved as Secrets). - # - # This method is preferred over the "personal access token" solution, as the GitHub App's scope is limited to just - # the firebase-cpp-sdk repository. - uses: tibdex/github-app-token@v1 - id: generate-token - with: - app_id: ${{ secrets.WORKFLOW_TRIGGER_APP_ID }} - private_key: ${{ secrets.WORKFLOW_TRIGGER_APP_PRIVATE_KEY }} - - name: Use GitHub API to start workflow - shell: bash - run: | - pip install -r scripts/gha/python_requirements.txt - if [[ -z ${USE_EXPANDED_MATRIX} ]]; then - USE_EXPANDED_MATRIX=0 - fi - verbose_flag= - if [[ -n "${GITHUB_EVENT_INPUTS_VERBOSEBUILD}" && "${GITHUB_EVENT_INPUTS_VERBOSEBUILD}" -ne 0 ]]; then - verbose_flag=-v - fi - set -e - if [[ "${{ github.event_name }}" == "schedule" ]]; then - # trigger integration tests and generate two reports for nightly workflow run: one for firestore, one for the rest. - python scripts/gha/trigger_workflow.py -t ${STEPS_GENERATE_TOKEN_OUTPUTS_TOKEN} \ - -w integration_tests.yml \ - -p test_packaged_sdk ${{ github.run_id }} \ - -p use_expanded_matrix ${USE_EXPANDED_MATRIX} \ - -p apis "analytics,app_check,auth,database,functions,installations,messaging,remote_config,storage" \ - -p test_pull_request nightly-packaging \ - -s 10 \ - -A ${verbose_flag} - python scripts/gha/trigger_workflow.py -t ${STEPS_GENERATE_TOKEN_OUTPUTS_TOKEN} \ - -w integration_tests.yml \ - -p test_packaged_sdk ${{ github.run_id }} \ - -p use_expanded_matrix ${USE_EXPANDED_MATRIX} \ - -p apis "firestore" \ - -p test_pull_request nightly-packaging \ - -s 10 \ - -A ${verbose_flag} - else - # trigger integration tests - python scripts/gha/trigger_workflow.py -t ${STEPS_GENERATE_TOKEN_OUTPUTS_TOKEN} \ - -w integration_tests.yml \ - -p test_packaged_sdk ${{ github.run_id }} \ - -p use_expanded_matrix ${USE_EXPANDED_MATRIX} \ - -s 10 \ - -A ${verbose_flag} - fi - env: - GITHUB_EVENT_INPUTS_VERBOSEBUILD: ${{ github.event.inputs.verboseBuild }} - STEPS_GENERATE_TOKEN_OUTPUTS_TOKEN: ${{ steps.generate-token.outputs.token }} - + cmakeVersion: "~3.31.0" - attempt_retry: - name: "attempt-retry" - needs: [trigger_integration_tests] - runs-on: ubuntu-22.04 - if: ${{ failure() && !cancelled() && github.event_name == 'schedule' }} - steps: - - name: Checkout repo - uses: actions/checkout@v3 - - name: Setup python - uses: actions/setup-python@v4 - with: - python-version: 3.9 - - name: Install python deps - run: pip install -r scripts/gha/python_requirements.txt - # The default token can't run workflows, so get an alternate token. - - name: Generate token for GitHub API - uses: tibdex/github-app-token@v1 - id: generate-token - with: - app_id: ${{ secrets.WORKFLOW_TRIGGER_APP_ID }} - private_key: ${{ secrets.WORKFLOW_TRIGGER_APP_PRIVATE_KEY }} - - name: Retry failed tests - run: | - echo "::warning ::Attempting to retry failed jobs" - python scripts/gha/trigger_workflow.py -t ${STEPS_GENERATE_TOKEN_OUTPUTS_TOKEN} \ - -w retry-test-failures.yml \ - -p run_id ${{ github.run_id }} \ - -s 10 \ - -A - env: - STEPS_GENERATE_TOKEN_OUTPUTS_TOKEN: ${{ steps.generate-token.outputs.token }} + - name: Execute 1-Step Desktop Build + run: python scripts/gha/build.py --preset ${{ matrix.preset }} diff --git a/CMakeLists.txt b/CMakeLists.txt index c1bbe08a9b..80b964051b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,6 +110,7 @@ endif() list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_CURRENT_LIST_DIR}/cmake) include(external_rules) include(cpp_pack) +include(firebase_standard_target) if(FIREBASE_CPP_BUILD_TESTS OR FIREBASE_CPP_BUILD_STUB_TESTS) enable_testing() diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000000..30b225304c --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,78 @@ +{ + "version": 3, + "configurePresets": [ + { + "name": "ios-arm64", + "displayName": "iOS Device (arm64)", + "generator": "Xcode", + "binaryDir": "${sourceDir}/build/ios-arm64", + "cacheVariables": { + "CMAKE_SYSTEM_NAME": "iOS", + "CMAKE_OSX_SYSROOT": "iphoneos", + "CMAKE_OSX_ARCHITECTURES": "arm64", + "FIREBASE_CPP_BUILD_TESTS": "OFF" + } + }, + { + "name": "ios-sim-universal", + "displayName": "iOS Simulator (arm64 + x86_64)", + "generator": "Xcode", + "binaryDir": "${sourceDir}/build/ios-sim", + "cacheVariables": { + "CMAKE_SYSTEM_NAME": "iOS", + "CMAKE_OSX_SYSROOT": "iphonesimulator", + "CMAKE_OSX_ARCHITECTURES": "arm64;x86_64", + "FIREBASE_CPP_BUILD_TESTS": "OFF" + } + }, + { + "name": "macos-arm64", + "displayName": "macOS Apple Silicon (arm64)", + "generator": "Xcode", + "binaryDir": "${sourceDir}/build/macos-arm64", + "cacheVariables": { + "CMAKE_OSX_ARCHITECTURES": "arm64", + "FIREBASE_CPP_BUILD_TESTS": "OFF" + } + }, + { + "name": "macos-x86_64", + "displayName": "macOS Intel (x86_64)", + "generator": "Xcode", + "binaryDir": "${sourceDir}/build/macos-x86_64", + "cacheVariables": { + "CMAKE_OSX_ARCHITECTURES": "x86_64", + "FIREBASE_CPP_BUILD_TESTS": "OFF" + } + }, + { + "name": "android-arm64", + "displayName": "Android (arm64-v8a)", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build/android-arm64", + "cacheVariables": { + "CMAKE_SYSTEM_NAME": "Android", + "CMAKE_ANDROID_ARCH_ABI": "arm64-v8a", + "FIREBASE_CPP_BUILD_TESTS": "OFF" + } + }, + { + "name": "linux-x64", + "displayName": "Linux (x86_64)", + "binaryDir": "${sourceDir}/build/linux-x64", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release", + "FIREBASE_CPP_BUILD_TESTS": "OFF" + } + }, + { + "name": "windows-x64", + "displayName": "Windows (x64)", + "binaryDir": "${sourceDir}/build/windows-x64", + "cacheVariables": { + "CMAKE_GENERATOR_PLATFORM": "x64", + "FIREBASE_CPP_BUILD_TESTS": "OFF" + } + } + ] +} diff --git a/analytics/CMakeLists.txt b/analytics/CMakeLists.txt index 63d33b125f..b031f57d16 100644 --- a/analytics/CMakeLists.txt +++ b/analytics/CMakeLists.txt @@ -121,12 +121,6 @@ target_compile_definitions(firebase_analytics PRIVATE -DINTERNAL_EXPERIMENTAL=1 ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() if(ANDROID) firebase_cpp_proguard_file(analytics) @@ -144,11 +138,11 @@ elseif(IOS) FirebaseAnalytics ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_analytics PROPERTIES - FRAMEWORK TRUE - ) - endif() + # Enforce standard framework bundling and Apple casing natively + set_target_properties(firebase_analytics PROPERTIES + FRAMEWORK TRUE + OUTPUT_NAME "FirebaseAnalytics" + ) endif() if(FIREBASE_CPP_BUILD_TESTS) diff --git a/analytics/src/analytics_common.cc b/analytics/src/analytics_common.cc index 90c614d762..6b9f843fc4 100644 --- a/analytics/src/analytics_common.cc +++ b/analytics/src/analytics_common.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "analytics/src/analytics_common.h" #include diff --git a/analytics/src/analytics_desktop.cc b/analytics/src/analytics_desktop.cc index 880c3936a9..bea7216750 100644 --- a/analytics/src/analytics_desktop.cc +++ b/analytics/src/analytics_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include #include diff --git a/analytics/src/analytics_ios.mm b/analytics/src/analytics_ios.mm index 38aa5275e7..08c8a00fa2 100644 --- a/analytics/src/analytics_ios.mm +++ b/analytics/src/analytics_ios.mm @@ -20,6 +20,9 @@ #import "FIRAnalytics+OnDevice.h" #import "FIRAnalytics.h" +#include +#include +#include #include "analytics/src/include/firebase/analytics.h" #include "analytics/src/analytics_common.h" diff --git a/analytics/src_ios/fake/FIRAnalytics.mm b/analytics/src_ios/fake/FIRAnalytics.mm index 11048e3dd0..fcc02e963f 100644 --- a/analytics/src_ios/fake/FIRAnalytics.mm +++ b/analytics/src_ios/fake/FIRAnalytics.mm @@ -16,6 +16,9 @@ #import "analytics/src_ios/fake/FIRAnalytics.h" +#include +#include +#include #include "testing/reporter_impl.h" @implementation FIRAnalytics diff --git a/analytics/tests/analytics_test.cc b/analytics/tests/analytics_test.cc index 8235c69e25..12dcbf9d9d 100644 --- a/analytics/tests/analytics_test.cc +++ b/analytics/tests/analytics_test.cc @@ -16,6 +16,9 @@ #if defined(FIREBASE_ANDROID_FOR_DESKTOP) #define __ANDROID__ +#include +#include +#include #include #include "testing/run_all_tests.h" diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index c92f9124f8..36e0bd0459 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -321,6 +321,8 @@ add_library(firebase_app STATIC ${app_flatbuffers_srcs}) set_property(TARGET firebase_app PROPERTY FOLDER "Firebase Cpp") +set_target_properties(firebase_app PROPERTIES OUTPUT_NAME "firebase") + # Disable exceptions in std if (MSVC) @@ -410,12 +412,10 @@ if (NOT ANDROID AND NOT IOS) endif() if (IOS) - # IOS build framework - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_app PROPERTIES - FRAMEWORK TRUE - ) - endif() + # Enforce native framework bundling properties unconditionally + set_target_properties(firebase_app PROPERTIES + FRAMEWORK TRUE + ) # Generate the analytics header file # Copy from analytics/CMakeList.txt diff --git a/app/rest/controller_curl.cc b/app/rest/controller_curl.cc index 0387dcadb4..50339b2783 100644 --- a/app/rest/controller_curl.cc +++ b/app/rest/controller_curl.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/controller_curl.h" #include diff --git a/app/rest/controller_interface.cc b/app/rest/controller_interface.cc index 7c5a8a65ab..1a00c30cab 100644 --- a/app/rest/controller_interface.cc +++ b/app/rest/controller_interface.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/controller_interface.h" namespace firebase { diff --git a/app/rest/gzipheader.cc b/app/rest/gzipheader.cc index ba00ffdb3f..682426455a 100644 --- a/app/rest/gzipheader.cc +++ b/app/rest/gzipheader.cc @@ -15,6 +15,9 @@ // Author: Neal Cardwell // +#include +#include +#include #include "app/rest/gzipheader.h" #include diff --git a/app/rest/request_file.cc b/app/rest/request_file.cc index 9c3cfafda2..f7d45aa97d 100644 --- a/app/rest/request_file.cc +++ b/app/rest/request_file.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/request_file.h" #include "app/src/include/firebase/internal/platform.h" diff --git a/app/rest/response.cc b/app/rest/response.cc index e57bee707b..d6fea87886 100644 --- a/app/rest/response.cc +++ b/app/rest/response.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/response.h" #include diff --git a/app/rest/response_binary.cc b/app/rest/response_binary.cc index 0ab2f29776..3356599651 100644 --- a/app/rest/response_binary.cc +++ b/app/rest/response_binary.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/response_binary.h" #include diff --git a/app/rest/tests/gzipheader_unittest.cc b/app/rest/tests/gzipheader_unittest.cc index 5020e92436..2dc75c2af3 100644 --- a/app/rest/tests/gzipheader_unittest.cc +++ b/app/rest/tests/gzipheader_unittest.cc @@ -15,6 +15,9 @@ // // Author: Neal Cardwell +#include +#include +#include #include "app/rest/gzipheader.h" #include diff --git a/app/rest/tests/request_binary_test.cc b/app/rest/tests/request_binary_test.cc index d1a96ea092..a9293c181b 100644 --- a/app/rest/tests/request_binary_test.cc +++ b/app/rest/tests/request_binary_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/request_binary.h" #include diff --git a/app/rest/tests/request_file_test.cc b/app/rest/tests/request_file_test.cc index 6663046055..a4c8fdb5cf 100644 --- a/app/rest/tests/request_file_test.cc +++ b/app/rest/tests/request_file_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/request_file.h" #include diff --git a/app/rest/tests/request_json_test.cc b/app/rest/tests/request_json_test.cc index 058c925c6d..a77fafd81f 100644 --- a/app/rest/tests/request_json_test.cc +++ b/app/rest/tests/request_json_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/request_json.h" #include "app/rest/sample_generated.h" diff --git a/app/rest/tests/request_test.cc b/app/rest/tests/request_test.cc index da880773fd..8a13fad193 100644 --- a/app/rest/tests/request_test.cc +++ b/app/rest/tests/request_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/request.h" #include "app/rest/tests/request_test.h" diff --git a/app/rest/tests/response_binary_test.cc b/app/rest/tests/response_binary_test.cc index 4e0a82f63a..6fb865e868 100644 --- a/app/rest/tests/response_binary_test.cc +++ b/app/rest/tests/response_binary_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/response_binary.h" #include diff --git a/app/rest/tests/response_json_test.cc b/app/rest/tests/response_json_test.cc index 7078a09c0c..717545d288 100644 --- a/app/rest/tests/response_json_test.cc +++ b/app/rest/tests/response_json_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/response_json.h" #include diff --git a/app/rest/tests/transport_curl_test.cc b/app/rest/tests/transport_curl_test.cc index ff1bfab5b1..6be7e038ea 100644 --- a/app/rest/tests/transport_curl_test.cc +++ b/app/rest/tests/transport_curl_test.cc @@ -17,6 +17,9 @@ // This is a large test that starts a local http server and tests transport_curl // with actual http connection. +#include +#include +#include #include "app/rest/transport_curl.h" #include diff --git a/app/rest/tests/transport_mock_test.cc b/app/rest/tests/transport_mock_test.cc index 5a4e8b9ffc..bbfa58b82b 100644 --- a/app/rest/tests/transport_mock_test.cc +++ b/app/rest/tests/transport_mock_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/transport_mock.h" #include "app/rest/request.h" diff --git a/app/rest/tests/util_test.cc b/app/rest/tests/util_test.cc index 973831a6b8..85b75dd976 100644 --- a/app/rest/tests/util_test.cc +++ b/app/rest/tests/util_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/util.h" #include "gmock/gmock.h" diff --git a/app/rest/tests/www_form_url_encoded_test.cc b/app/rest/tests/www_form_url_encoded_test.cc index 421be70462..ba7f6f93cf 100644 --- a/app/rest/tests/www_form_url_encoded_test.cc +++ b/app/rest/tests/www_form_url_encoded_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/www_form_url_encoded.h" #include "app/rest/util.h" diff --git a/app/rest/tests/zlibwrapper_unittest.cc b/app/rest/tests/zlibwrapper_unittest.cc index 4f140ed064..4d58d48c0a 100644 --- a/app/rest/tests/zlibwrapper_unittest.cc +++ b/app/rest/tests/zlibwrapper_unittest.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/zlibwrapper.h" #include diff --git a/app/rest/transport_builder.cc b/app/rest/transport_builder.cc index 41f3174825..93ef3b9dbc 100644 --- a/app/rest/transport_builder.cc +++ b/app/rest/transport_builder.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/transport_builder.h" #include "app/rest/transport_curl.h" diff --git a/app/rest/transport_curl.cc b/app/rest/transport_curl.cc index 46712b0dc2..832ce02b55 100644 --- a/app/rest/transport_curl.cc +++ b/app/rest/transport_curl.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/transport_curl.h" #include diff --git a/app/rest/transport_interface.cc b/app/rest/transport_interface.cc index 44e76f7f36..3a31dc3bfb 100644 --- a/app/rest/transport_interface.cc +++ b/app/rest/transport_interface.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/transport_interface.h" #include diff --git a/app/rest/transport_mock.cc b/app/rest/transport_mock.cc index 6a7590697f..ceef42dd76 100644 --- a/app/rest/transport_mock.cc +++ b/app/rest/transport_mock.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/transport_mock.h" #include diff --git a/app/rest/util.cc b/app/rest/util.cc index 10bb146b57..31b97c89f1 100644 --- a/app/rest/util.cc +++ b/app/rest/util.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/util.h" #include diff --git a/app/rest/www_form_url_encoded.cc b/app/rest/www_form_url_encoded.cc index 8f19c43871..147a20f19a 100644 --- a/app/rest/www_form_url_encoded.cc +++ b/app/rest/www_form_url_encoded.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/www_form_url_encoded.h" #include diff --git a/app/rest/zlibwrapper.cc b/app/rest/zlibwrapper.cc index 89ef9becbc..9fd39a7ae1 100644 --- a/app/rest/zlibwrapper.cc +++ b/app/rest/zlibwrapper.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/rest/zlibwrapper.h" #include diff --git a/app/src/app_android.cc b/app/src/app_android.cc index c7485f6523..2219faed8d 100644 --- a/app/src/app_android.cc +++ b/app/src/app_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/app_android.h" #include diff --git a/app/src/app_common.cc b/app/src/app_common.cc index 9e38e63128..5fdd76423f 100644 --- a/app/src/app_common.cc +++ b/app/src/app_common.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/app_common.h" #include diff --git a/app/src/app_desktop.cc b/app/src/app_desktop.cc index 412ef5dede..3411a677d9 100644 --- a/app/src/app_desktop.cc +++ b/app/src/app_desktop.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/app_desktop.h" #include diff --git a/app/src/app_identifier.cc b/app/src/app_identifier.cc index 4bc9c6b007..658ecb196c 100644 --- a/app/src/app_identifier.cc +++ b/app/src/app_identifier.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/app_identifier.h" #include diff --git a/app/src/app_ios.mm b/app/src/app_ios.mm index 088da02ead..bbe6904aab 100644 --- a/app/src/app_ios.mm +++ b/app/src/app_ios.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/include/firebase/app.h" #include diff --git a/app/src/app_options.cc b/app/src/app_options.cc index 1247126974..6e98bd9233 100644 --- a/app/src/app_options.cc +++ b/app/src/app_options.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include diff --git a/app/src/app_stub.cc b/app/src/app_stub.cc index 3944fdeba3..b4d6d81fd9 100644 --- a/app/src/app_stub.cc +++ b/app/src/app_stub.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "app/src/app_common.h" diff --git a/app/src/base64.cc b/app/src/base64.cc index 87260a720b..3a0111dd90 100644 --- a/app/src/base64.cc +++ b/app/src/base64.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/base64.h" #include diff --git a/app/src/base64_fuzzer.cc b/app/src/base64_fuzzer.cc index a56ada92eb..3b8311ad80 100644 --- a/app/src/base64_fuzzer.cc +++ b/app/src/base64_fuzzer.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include diff --git a/app/src/callback.cc b/app/src/callback.cc index 7fef81b45c..10e0886985 100644 --- a/app/src/callback.cc +++ b/app/src/callback.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/callback.h" #include diff --git a/app/src/cleanup_notifier.cc b/app/src/cleanup_notifier.cc index a02114b701..9cb0972389 100644 --- a/app/src/cleanup_notifier.cc +++ b/app/src/cleanup_notifier.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/cleanup_notifier.h" #include diff --git a/app/src/filesystem_apple.mm b/app/src/filesystem_apple.mm index 5e1727aff6..1acc75bc1b 100644 --- a/app/src/filesystem_apple.mm +++ b/app/src/filesystem_apple.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/filesystem.h" #import diff --git a/app/src/filesystem_desktop_linux.cc b/app/src/filesystem_desktop_linux.cc index b6f268c55c..61bfda6a3b 100644 --- a/app/src/filesystem_desktop_linux.cc +++ b/app/src/filesystem_desktop_linux.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include #include diff --git a/app/src/filesystem_desktop_windows.cc b/app/src/filesystem_desktop_windows.cc index ceca19d6b7..40b1569624 100644 --- a/app/src/filesystem_desktop_windows.cc +++ b/app/src/filesystem_desktop_windows.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include #include diff --git a/app/src/function_registry.cc b/app/src/function_registry.cc index 63c849b91a..3af8430c6f 100644 --- a/app/src/function_registry.cc +++ b/app/src/function_registry.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/function_registry.h" #include diff --git a/app/src/future.cc b/app/src/future.cc index 126196ae02..19d6f7463a 100644 --- a/app/src/future.cc +++ b/app/src/future.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/include/firebase/future.h" #include "app/src/semaphore.h" diff --git a/app/src/future_manager.cc b/app/src/future_manager.cc index 887a218eb0..a8dbbabfa2 100644 --- a/app/src/future_manager.cc +++ b/app/src/future_manager.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/future_manager.h" namespace firebase { diff --git a/app/src/google_play_services/availability_android.cc b/app/src/google_play_services/availability_android.cc index ad1c4e2c9a..4ce53c9338 100644 --- a/app/src/google_play_services/availability_android.cc +++ b/app/src/google_play_services/availability_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/google_play_services/availability_android.h" #include diff --git a/app/src/heartbeat/date_provider.cc b/app/src/heartbeat/date_provider.cc index 4273122188..e34ec18531 100644 --- a/app/src/heartbeat/date_provider.cc +++ b/app/src/heartbeat/date_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/heartbeat/date_provider.h" #include diff --git a/app/src/heartbeat/heartbeat_controller_desktop.cc b/app/src/heartbeat/heartbeat_controller_desktop.cc index e7cc5cd049..c8164ba704 100644 --- a/app/src/heartbeat/heartbeat_controller_desktop.cc +++ b/app/src/heartbeat/heartbeat_controller_desktop.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/heartbeat/heartbeat_controller_desktop.h" #include diff --git a/app/src/heartbeat/heartbeat_storage_desktop.cc b/app/src/heartbeat/heartbeat_storage_desktop.cc index 8b2f6389f3..cad797482a 100644 --- a/app/src/heartbeat/heartbeat_storage_desktop.cc +++ b/app/src/heartbeat/heartbeat_storage_desktop.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/heartbeat/heartbeat_storage_desktop.h" #include diff --git a/app/src/jobject_reference.cc b/app/src/jobject_reference.cc index 1d2246d0ab..067f181205 100644 --- a/app/src/jobject_reference.cc +++ b/app/src/jobject_reference.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/jobject_reference.h" #include diff --git a/app/src/locale.cc b/app/src/locale.cc index 85fa85be6b..5bf879f9af 100644 --- a/app/src/locale.cc +++ b/app/src/locale.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/locale.h" #include "app/src/include/firebase/internal/platform.h" diff --git a/app/src/locale_apple.mm b/app/src/locale_apple.mm index 25e332e74d..4dd0c9d642 100644 --- a/app/src/locale_apple.mm +++ b/app/src/locale_apple.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/include/firebase/internal/platform.h" #include "app/src/locale.h" diff --git a/app/src/log.cc b/app/src/log.cc index 995c22b875..8a2dd857e8 100644 --- a/app/src/log.cc +++ b/app/src/log.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/log.h" #include diff --git a/app/src/log_android.cc b/app/src/log_android.cc index 13ea8f93f5..38951b495b 100644 --- a/app/src/log_android.cc +++ b/app/src/log_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/log.h" #if !defined(FIREBASE_ANDROID_FOR_DESKTOP) diff --git a/app/src/log_android_callback.cc b/app/src/log_android_callback.cc index acaacecb7e..68fc984503 100644 --- a/app/src/log_android_callback.cc +++ b/app/src/log_android_callback.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include diff --git a/app/src/log_ios.mm b/app/src/log_ios.mm index 6f8bd5c05a..97a4bf7c5a 100644 --- a/app/src/log_ios.mm +++ b/app/src/log_ios.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/log.h" #import diff --git a/app/src/log_stdio.cc b/app/src/log_stdio.cc index 7625d9df81..445726c1e4 100644 --- a/app/src/log_stdio.cc +++ b/app/src/log_stdio.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/app/src/logger.cc b/app/src/logger.cc index 7bbfb5791e..ee7eea037b 100644 --- a/app/src/logger.cc +++ b/app/src/logger.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/logger.h" #include "app/src/log.h" diff --git a/app/src/mutex_pthread.cc b/app/src/mutex_pthread.cc index 1f8496e2de..fe2bc502c5 100644 --- a/app/src/mutex_pthread.cc +++ b/app/src/mutex_pthread.cc @@ -13,6 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#include +#include +#include #include #include diff --git a/app/src/mutex_windows.cc b/app/src/mutex_windows.cc index 9ecfe7ea3b..134e2e39fe 100644 --- a/app/src/mutex_windows.cc +++ b/app/src/mutex_windows.cc @@ -13,6 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#include +#include +#include #include #include "app/src/assert.h" diff --git a/app/src/reference_counted_future_impl.cc b/app/src/reference_counted_future_impl.cc index f894df2879..4cab690d64 100644 --- a/app/src/reference_counted_future_impl.cc +++ b/app/src/reference_counted_future_impl.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/reference_counted_future_impl.h" #include diff --git a/app/src/scheduler.cc b/app/src/scheduler.cc index fe02fbc7b0..5f85be0adc 100644 --- a/app/src/scheduler.cc +++ b/app/src/scheduler.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/scheduler.h" #include diff --git a/app/src/secure/user_secure_darwin_internal.mm b/app/src/secure/user_secure_darwin_internal.mm index c5fe84ed5d..830285aeda 100644 --- a/app/src/secure/user_secure_darwin_internal.mm +++ b/app/src/secure/user_secure_darwin_internal.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/secure/user_secure_darwin_internal.h" #include #include "app/src/assert.h" diff --git a/app/src/secure/user_secure_darwin_internal_testlib.mm b/app/src/secure/user_secure_darwin_internal_testlib.mm index abb6f51c45..dc6a85aa74 100644 --- a/app/src/secure/user_secure_darwin_internal_testlib.mm +++ b/app/src/secure/user_secure_darwin_internal_testlib.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/secure/user_secure_darwin_internal_testlib.h" #include "app/src/log.h" diff --git a/app/src/secure/user_secure_fake_internal.cc b/app/src/secure/user_secure_fake_internal.cc index 5271d16aff..7cc929c079 100644 --- a/app/src/secure/user_secure_fake_internal.cc +++ b/app/src/secure/user_secure_fake_internal.cc @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include #include "app/src/secure/user_secure_fake_internal.h" #include "app/src/include/firebase/internal/platform.h" diff --git a/app/src/secure/user_secure_linux_internal.cc b/app/src/secure/user_secure_linux_internal.cc index 2dcfb74c1b..90956722eb 100644 --- a/app/src/secure/user_secure_linux_internal.cc +++ b/app/src/secure/user_secure_linux_internal.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/secure/user_secure_linux_internal.h" #include diff --git a/app/src/secure/user_secure_manager.cc b/app/src/secure/user_secure_manager.cc index f3c40d9621..134175aa45 100644 --- a/app/src/secure/user_secure_manager.cc +++ b/app/src/secure/user_secure_manager.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/secure/user_secure_manager.h" #include diff --git a/app/src/secure/user_secure_manager_fake.cc b/app/src/secure/user_secure_manager_fake.cc index 7a786fc460..0ae70d432f 100644 --- a/app/src/secure/user_secure_manager_fake.cc +++ b/app/src/secure/user_secure_manager_fake.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/secure/user_secure_manager_fake.h" #include diff --git a/app/src/secure/user_secure_windows_internal.cc b/app/src/secure/user_secure_windows_internal.cc index 8da2d73c5e..8d70665c6f 100644 --- a/app/src/secure/user_secure_windows_internal.cc +++ b/app/src/secure/user_secure_windows_internal.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/secure/user_secure_windows_internal.h" #define NOMINMAX diff --git a/app/src/thread_cpp11.cc b/app/src/thread_cpp11.cc index 1861c17be2..e0dfee3d32 100644 --- a/app/src/thread_cpp11.cc +++ b/app/src/thread_cpp11.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/thread.h" #if !defined(_STLPORT_VERSION) diff --git a/app/src/thread_pthread.cc b/app/src/thread_pthread.cc index a549c1be48..b966a92352 100644 --- a/app/src/thread_pthread.cc +++ b/app/src/thread_pthread.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/thread.h" #if defined(_STLPORT_VERSION) diff --git a/app/src/time.cc b/app/src/time.cc index d5d69fa76d..3cc9109e00 100644 --- a/app/src/time.cc +++ b/app/src/time.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/time.h" namespace firebase { diff --git a/app/src/util.cc b/app/src/util.cc index a9bf03651a..4840d29059 100644 --- a/app/src/util.cc +++ b/app/src/util.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/include/firebase/util.h" #include diff --git a/app/src/util_android.cc b/app/src/util_android.cc index 678c0452ee..cd937aac7e 100644 --- a/app/src/util_android.cc +++ b/app/src/util_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/util_android.h" #include diff --git a/app/src/util_apple.mm b/app/src/util_apple.mm index 0d226e43f6..5eed812332 100644 --- a/app/src/util_apple.mm +++ b/app/src/util_apple.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/util_apple.h" #import diff --git a/app/src/util_ios.mm b/app/src/util_ios.mm index 6286eeae4b..8eefb5a9a0 100644 --- a/app/src/util_ios.mm +++ b/app/src/util_ios.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/util_ios.h" #include "app/src/assert.h" diff --git a/app/src/uuid.cc b/app/src/uuid.cc index 1c99b45df9..2b2646ab7b 100644 --- a/app/src/uuid.cc +++ b/app/src/uuid.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/include/firebase/internal/platform.h" #if FIREBASE_PLATFORM_WINDOWS diff --git a/app/src/uuid_ios_darwin.mm b/app/src/uuid_ios_darwin.mm index 5c3ecf12df..0d648aed08 100644 --- a/app/src/uuid_ios_darwin.mm +++ b/app/src/uuid_ios_darwin.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/uuid.h" #import diff --git a/app/src/variant.cc b/app/src/variant.cc index 2f6aa26274..948eca03ca 100644 --- a/app/src/variant.cc +++ b/app/src/variant.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/include/firebase/variant.h" #include diff --git a/app/src/variant_util.cc b/app/src/variant_util.cc index d8c03dde3d..ab359a5a0b 100644 --- a/app/src/variant_util.cc +++ b/app/src/variant_util.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/variant_util.h" #include diff --git a/app/tests/app_desktop_test.cc b/app/tests/app_desktop_test.cc index d6ace2da68..973ad74908 100644 --- a/app/tests/app_desktop_test.cc +++ b/app/tests/app_desktop_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/app_desktop.h" #include diff --git a/app/tests/assert_test.cc b/app/tests/assert_test.cc index ee6945aaa6..f11ba06090 100644 --- a/app/tests/assert_test.cc +++ b/app/tests/assert_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "gmock/gmock.h" diff --git a/app/tests/base64_openssh_test.cc b/app/tests/base64_openssh_test.cc index fd9b08e3c6..d7ff95855b 100644 --- a/app/tests/base64_openssh_test.cc +++ b/app/tests/base64_openssh_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "absl/strings/string_view.h" #include "app/src/base64.h" #include "app/src/log.h" diff --git a/app/tests/base64_test.cc b/app/tests/base64_test.cc index 10f5bcb570..7ac524284f 100644 --- a/app/tests/base64_test.cc +++ b/app/tests/base64_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/base64.h" #include "gmock/gmock.h" diff --git a/app/tests/callback_test.cc b/app/tests/callback_test.cc index 8eb90909d7..9f8da91f9d 100644 --- a/app/tests/callback_test.cc +++ b/app/tests/callback_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/callback.h" #include diff --git a/app/tests/cleanup_notifier_test.cc b/app/tests/cleanup_notifier_test.cc index c2e4f0a627..51d05d0a8b 100644 --- a/app/tests/cleanup_notifier_test.cc +++ b/app/tests/cleanup_notifier_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/cleanup_notifier.h" #include "gmock/gmock.h" diff --git a/app/tests/flexbuffer_matcher.cc b/app/tests/flexbuffer_matcher.cc index 525186616d..2dd2046060 100644 --- a/app/tests/flexbuffer_matcher.cc +++ b/app/tests/flexbuffer_matcher.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/tests/flexbuffer_matcher.h" // For testing purposes, we only care about the basic types. diff --git a/app/tests/flexbuffer_matcher_test.cc b/app/tests/flexbuffer_matcher_test.cc index c3e2471778..f54d10f90b 100644 --- a/app/tests/flexbuffer_matcher_test.cc +++ b/app/tests/flexbuffer_matcher_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/tests/flexbuffer_matcher.h" #include "flatbuffers/flexbuffers.h" diff --git a/app/tests/future_manager_test.cc b/app/tests/future_manager_test.cc index bb82b8db1a..91113436d5 100644 --- a/app/tests/future_manager_test.cc +++ b/app/tests/future_manager_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/future_manager.h" #include diff --git a/app/tests/future_test.cc b/app/tests/future_test.cc index c9b98d0ff5..5804f7ac9d 100644 --- a/app/tests/future_test.cc +++ b/app/tests/future_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/include/firebase/future.h" #include diff --git a/app/tests/google_play_services/availability_android_test.cc b/app/tests/google_play_services/availability_android_test.cc index f2909bb040..e3fd257f8a 100644 --- a/app/tests/google_play_services/availability_android_test.cc +++ b/app/tests/google_play_services/availability_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "absl/strings/str_format.h" diff --git a/app/tests/google_services_test.cc b/app/tests/google_services_test.cc index 78557fa8f4..509826432e 100644 --- a/app/tests/google_services_test.cc +++ b/app/tests/google_services_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "absl/flags/flag.h" diff --git a/app/tests/heartbeat_controller_desktop_test.cc b/app/tests/heartbeat_controller_desktop_test.cc index 9569ce8bce..b07c415922 100644 --- a/app/tests/heartbeat_controller_desktop_test.cc +++ b/app/tests/heartbeat_controller_desktop_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/heartbeat/heartbeat_controller_desktop.h" #include diff --git a/app/tests/heartbeat_storage_desktop_test.cc b/app/tests/heartbeat_storage_desktop_test.cc index ba30fe638a..e8da6d0d9f 100644 --- a/app/tests/heartbeat_storage_desktop_test.cc +++ b/app/tests/heartbeat_storage_desktop_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/heartbeat/heartbeat_storage_desktop.h" #include diff --git a/app/tests/intrusive_list_test.cc b/app/tests/intrusive_list_test.cc index db43bf5add..d58fe69302 100644 --- a/app/tests/intrusive_list_test.cc +++ b/app/tests/intrusive_list_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/intrusive_list.h" #include diff --git a/app/tests/jobject_reference_test.cc b/app/tests/jobject_reference_test.cc index 0bbc415e34..b0ce539bad 100644 --- a/app/tests/jobject_reference_test.cc +++ b/app/tests/jobject_reference_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/jobject_reference.h" #include "gmock/gmock.h" diff --git a/app/tests/locale_test.cc b/app/tests/locale_test.cc index ce809afc40..32431b8a8d 100644 --- a/app/tests/locale_test.cc +++ b/app/tests/locale_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/locale.h" #include diff --git a/app/tests/log_test.cc b/app/tests/log_test.cc index 39ab5c5384..1204c4e59c 100644 --- a/app/tests/log_test.cc +++ b/app/tests/log_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/log.h" #include "gmock/gmock.h" diff --git a/app/tests/logger_test.cc b/app/tests/logger_test.cc index 9b6e6855f4..8b6eb1e8e5 100644 --- a/app/tests/logger_test.cc +++ b/app/tests/logger_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/logger.h" #include diff --git a/app/tests/optional_test.cc b/app/tests/optional_test.cc index 814fb15c02..9ea46e72a5 100644 --- a/app/tests/optional_test.cc +++ b/app/tests/optional_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/optional.h" #include "gmock/gmock.h" diff --git a/app/tests/path_test.cc b/app/tests/path_test.cc index 09f5ea8050..00bca66c53 100644 --- a/app/tests/path_test.cc +++ b/app/tests/path_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/path.h" #include "gmock/gmock.h" diff --git a/app/tests/reference_count_test.cc b/app/tests/reference_count_test.cc index 1a102a66a4..56a84d828d 100644 --- a/app/tests/reference_count_test.cc +++ b/app/tests/reference_count_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/reference_count.h" #include "app/src/include/firebase/internal/mutex.h" diff --git a/app/tests/scheduler_test.cc b/app/tests/scheduler_test.cc index 9692710f75..79a0e5b146 100644 --- a/app/tests/scheduler_test.cc +++ b/app/tests/scheduler_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/scheduler.h" #include diff --git a/app/tests/secure/user_secure_integration_test.cc b/app/tests/secure/user_secure_integration_test.cc index acd0f085b6..bcf41c1d97 100644 --- a/app/tests/secure/user_secure_integration_test.cc +++ b/app/tests/secure/user_secure_integration_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include // NOLINT #include diff --git a/app/tests/secure/user_secure_internal_test.cc b/app/tests/secure/user_secure_internal_test.cc index 7bfb4761cb..ed4954a1cd 100644 --- a/app/tests/secure/user_secure_internal_test.cc +++ b/app/tests/secure/user_secure_internal_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "gmock/gmock.h" diff --git a/app/tests/secure/user_secure_manager_test.cc b/app/tests/secure/user_secure_manager_test.cc index e505163c7d..f6f84ce82f 100644 --- a/app/tests/secure/user_secure_manager_test.cc +++ b/app/tests/secure/user_secure_manager_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/secure/user_secure_manager.h" #include "gmock/gmock.h" diff --git a/app/tests/semaphore_test.cc b/app/tests/semaphore_test.cc index c3b9eae6ca..1a7bc7b858 100644 --- a/app/tests/semaphore_test.cc +++ b/app/tests/semaphore_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/semaphore.h" #include diff --git a/app/tests/swizzle_test.mm b/app/tests/swizzle_test.mm index 04e0869be6..66ede3ee8f 100644 --- a/app/tests/swizzle_test.mm +++ b/app/tests/swizzle_test.mm @@ -16,6 +16,9 @@ #import #import +#include +#include +#include #include "app/src/util_ios.h" @interface SwizzlingTests : XCTestCase diff --git a/app/tests/thread_test.cc b/app/tests/thread_test.cc index 6517f4163d..b91d760dd9 100644 --- a/app/tests/thread_test.cc +++ b/app/tests/thread_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/thread.h" #include "app/src/include/firebase/internal/mutex.h" diff --git a/app/tests/time_test.cc b/app/tests/time_test.cc index c2cd626438..c4bd6df0d9 100644 --- a/app/tests/time_test.cc +++ b/app/tests/time_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/time.h" #include diff --git a/app/tests/util_android_test.cc b/app/tests/util_android_test.cc index 4972bdb931..11bb684a6b 100644 --- a/app/tests/util_android_test.cc +++ b/app/tests/util_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/util_android.h" #include diff --git a/app/tests/util_ios_test.mm b/app/tests/util_ios_test.mm index 9d866e2417..6df728229f 100644 --- a/app/tests/util_ios_test.mm +++ b/app/tests/util_ios_test.mm @@ -16,6 +16,9 @@ #import +#include +#include +#include #include "app/src/include/firebase/variant.h" #include "app/src/util_ios.h" diff --git a/app/tests/util_test.cc b/app/tests/util_test.cc index c0fc858942..33ab41001e 100644 --- a/app/tests/util_test.cc +++ b/app/tests/util_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/util.h" #include "gmock/gmock.h" diff --git a/app/tests/uuid_test.cc b/app/tests/uuid_test.cc index 438664aadd..eff24f038b 100644 --- a/app/tests/uuid_test.cc +++ b/app/tests/uuid_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/uuid.h" #include diff --git a/app/tests/variant_test.cc b/app/tests/variant_test.cc index 28d9d6f483..938edcac83 100644 --- a/app/tests/variant_test.cc +++ b/app/tests/variant_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/include/firebase/variant.h" #include "gmock/gmock.h" diff --git a/app_check/CMakeLists.txt b/app_check/CMakeLists.txt index 78c1a30912..9d69db3eea 100644 --- a/app_check/CMakeLists.txt +++ b/app_check/CMakeLists.txt @@ -161,12 +161,7 @@ target_compile_definitions(firebase_app_check PRIVATE -DINTERNAL_EXPERIMENTAL=1 ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() + if(ANDROID) firebase_cpp_proguard_file(app_check) @@ -186,11 +181,10 @@ elseif(IOS) INCLUDE_PRIVATE_HEADERS ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_app_check PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_app_check PROPERTIES + OUTPUT_NAME "FirebaseAppCheck" + FRAMEWORK TRUE + ) endif() cpp_pack_library(firebase_app_check "") diff --git a/app_check/src/android/app_check_android.cc b/app_check/src/android/app_check_android.cc index 843d13d4d3..64976f9249 100644 --- a/app_check/src/android/app_check_android.cc +++ b/app_check/src/android/app_check_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/android/app_check_android.h" #include diff --git a/app_check/src/android/common_android.cc b/app_check/src/android/common_android.cc index 095c1f3c03..0a47f0aa23 100644 --- a/app_check/src/android/common_android.cc +++ b/app_check/src/android/common_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/android/common_android.h" #include diff --git a/app_check/src/android/debug_provider_android.cc b/app_check/src/android/debug_provider_android.cc index d3d4cb6ab9..476e382262 100644 --- a/app_check/src/android/debug_provider_android.cc +++ b/app_check/src/android/debug_provider_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/android/debug_provider_android.h" #include diff --git a/app_check/src/android/play_integrity_provider_android.cc b/app_check/src/android/play_integrity_provider_android.cc index 94b669176b..507ae06741 100644 --- a/app_check/src/android/play_integrity_provider_android.cc +++ b/app_check/src/android/play_integrity_provider_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/android/play_integrity_provider_android.h" #include diff --git a/app_check/src/common/app_check.cc b/app_check/src/common/app_check.cc index 4e3c065488..fd9baa0b4e 100644 --- a/app_check/src/common/app_check.cc +++ b/app_check/src/common/app_check.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/include/firebase/app_check.h" #include diff --git a/app_check/src/common/debug_provider_common.cc b/app_check/src/common/debug_provider_common.cc index e01aba203a..682b8779ae 100644 --- a/app_check/src/common/debug_provider_common.cc +++ b/app_check/src/common/debug_provider_common.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "firebase/app_check/debug_provider.h" diff --git a/app_check/src/desktop/app_check_desktop.cc b/app_check/src/desktop/app_check_desktop.cc index 4d43f56fd9..009c71fe58 100644 --- a/app_check/src/desktop/app_check_desktop.cc +++ b/app_check/src/desktop/app_check_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/desktop/app_check_desktop.h" #include diff --git a/app_check/src/desktop/debug_provider_desktop.cc b/app_check/src/desktop/debug_provider_desktop.cc index e0e558b47a..6e681b7b2b 100644 --- a/app_check/src/desktop/debug_provider_desktop.cc +++ b/app_check/src/desktop/debug_provider_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/desktop/debug_provider_desktop.h" #include diff --git a/app_check/src/ios/app_attest_provider_ios.mm b/app_check/src/ios/app_attest_provider_ios.mm index 222fb01777..fc8641a9d3 100644 --- a/app_check/src/ios/app_attest_provider_ios.mm +++ b/app_check/src/ios/app_attest_provider_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/ios/app_attest_provider_ios.h" #include "firebase/app_check/app_attest_provider.h" diff --git a/app_check/src/ios/app_check_ios.mm b/app_check/src/ios/app_check_ios.mm index 4778cbf78f..fb5fb11629 100644 --- a/app_check/src/ios/app_check_ios.mm +++ b/app_check/src/ios/app_check_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/ios/app_check_ios.h" #import "FIRApp.h" diff --git a/app_check/src/ios/debug_provider_ios.mm b/app_check/src/ios/debug_provider_ios.mm index fda3426da5..ce828c0d91 100644 --- a/app_check/src/ios/debug_provider_ios.mm +++ b/app_check/src/ios/debug_provider_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/ios/debug_provider_ios.h" #include "firebase/app_check/debug_provider.h" diff --git a/app_check/src/ios/device_check_provider_ios.mm b/app_check/src/ios/device_check_provider_ios.mm index 3f660fb639..5b9a9a4e7f 100644 --- a/app_check/src/ios/device_check_provider_ios.mm +++ b/app_check/src/ios/device_check_provider_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/ios/device_check_provider_ios.h" #include "firebase/app_check/device_check_provider.h" diff --git a/app_check/src/ios/util_ios.mm b/app_check/src/ios/util_ios.mm index 778756f434..d46ea19f6b 100644 --- a/app_check/src/ios/util_ios.mm +++ b/app_check/src/ios/util_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app_check/src/ios/util_ios.h" #import "FIRAppCheckErrors.h" diff --git a/app_check/src/stub/app_attest_provider_stub.cc b/app_check/src/stub/app_attest_provider_stub.cc index 130068dceb..1dd660b89a 100644 --- a/app_check/src/stub/app_attest_provider_stub.cc +++ b/app_check/src/stub/app_attest_provider_stub.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/log.h" #include "firebase/app_check/app_attest_provider.h" diff --git a/app_check/src/stub/device_check_provider_stub.cc b/app_check/src/stub/device_check_provider_stub.cc index 778870bd85..ac4b10f026 100644 --- a/app_check/src/stub/device_check_provider_stub.cc +++ b/app_check/src/stub/device_check_provider_stub.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/log.h" #include "firebase/app_check/device_check_provider.h" diff --git a/app_check/src/stub/play_integrity_provider_stub.cc b/app_check/src/stub/play_integrity_provider_stub.cc index bbb54c66eb..d3b9de347b 100644 --- a/app_check/src/stub/play_integrity_provider_stub.cc +++ b/app_check/src/stub/play_integrity_provider_stub.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/log.h" #include "firebase/app_check/play_integrity_provider.h" diff --git a/auth/CMakeLists.txt b/auth/CMakeLists.txt index 7749c68bc4..3c78168456 100644 --- a/auth/CMakeLists.txt +++ b/auth/CMakeLists.txt @@ -154,12 +154,10 @@ else() firebase_rest_lib) endif() -add_library(firebase_auth STATIC +add_firebase_sdk_target(firebase_auth "FirebaseAuth" ${common_SRCS} ${auth_platform_SRCS}) -set_property(TARGET firebase_auth PROPERTY FOLDER "Firebase Cpp") - # Set up the dependency on Firebase App. target_link_libraries(firebase_auth PUBLIC @@ -181,12 +179,7 @@ target_compile_definitions(firebase_auth PRIVATE -DINTERNAL_EXPERIMENTAL=1 ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() + if(ANDROID) firebase_cpp_proguard_file(auth) @@ -204,11 +197,10 @@ elseif(IOS) FirebaseAuth FirebaseAuthInterop/FirebaseAuth/Interop ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_auth PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_auth PROPERTIES + OUTPUT_NAME "FirebaseAuth" + FRAMEWORK TRUE + ) endif() if(FIREBASE_CPP_BUILD_TESTS) diff --git a/auth/samples/src/doc_samples.cc b/auth/samples/src/doc_samples.cc index 143393390b..e83c6d1eb6 100644 --- a/auth/samples/src/doc_samples.cc +++ b/auth/samples/src/doc_samples.cc @@ -21,6 +21,9 @@ // unannounced modification to the public. // [START auth_includes] +#include +#include +#include #include "firebase/app.h" #include "firebase/auth.h" // [END auth_includes] diff --git a/auth/src/android/auth_android.cc b/auth/src/android/auth_android.cc index e0a9a669cb..60087960ad 100644 --- a/auth/src/android/auth_android.cc +++ b/auth/src/android/auth_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include diff --git a/auth/src/android/common_android.cc b/auth/src/android/common_android.cc index a9472e1ec1..f13d79d4f5 100644 --- a/auth/src/android/common_android.cc +++ b/auth/src/android/common_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "auth/src/android/common_android.h" #include "app/src/include/firebase/internal/common.h" diff --git a/auth/src/android/user_android.cc b/auth/src/android/user_android.cc index 62a9d1d936..9852812884 100644 --- a/auth/src/android/user_android.cc +++ b/auth/src/android/user_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "app/src/time.h" diff --git a/auth/src/auth.cc b/auth/src/auth.cc index b1417f63f1..b4746697e0 100644 --- a/auth/src/auth.cc +++ b/auth/src/auth.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "auth/src/include/firebase/auth.h" #include diff --git a/auth/src/common.cc b/auth/src/common.cc index 65d7f1cb40..ed31c58c17 100644 --- a/auth/src/common.cc +++ b/auth/src/common.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "auth/src/common.h" #include diff --git a/auth/src/credential.cc b/auth/src/credential.cc index 2fb3c55329..b2fecc5484 100644 --- a/auth/src/credential.cc +++ b/auth/src/credential.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "auth/src/include/firebase/auth/credential.h" #include "auth/src/common.h" diff --git a/auth/src/desktop/auth_constants.cc b/auth/src/desktop/auth_constants.cc index 078cd02d02..41ec17fc7f 100644 --- a/auth/src/desktop/auth_constants.cc +++ b/auth/src/desktop/auth_constants.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/auth_constants.h" namespace firebase { diff --git a/auth/src/desktop/auth_credential.cc b/auth/src/desktop/auth_credential.cc index e8aa77d222..182d90a318 100644 --- a/auth/src/desktop/auth_credential.cc +++ b/auth/src/desktop/auth_credential.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/auth_credential.h" namespace firebase { diff --git a/auth/src/desktop/auth_desktop.cc b/auth/src/desktop/auth_desktop.cc index dc9aca2950..a7909e5d32 100644 --- a/auth/src/desktop/auth_desktop.cc +++ b/auth/src/desktop/auth_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/auth_desktop.h" #include diff --git a/auth/src/desktop/auth_providers/email_auth_provider.cc b/auth/src/desktop/auth_providers/email_auth_provider.cc index f70af9e04f..58ab6f7e20 100644 --- a/auth/src/desktop/auth_providers/email_auth_provider.cc +++ b/auth/src/desktop/auth_providers/email_auth_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "auth/src/desktop/auth_providers/email_auth_credential.h" #include "auth/src/desktop/credential_impl.h" diff --git a/auth/src/desktop/auth_providers/facebook_auth_provider.cc b/auth/src/desktop/auth_providers/facebook_auth_provider.cc index 82c8ce54cf..9d78ecc10a 100644 --- a/auth/src/desktop/auth_providers/facebook_auth_provider.cc +++ b/auth/src/desktop/auth_providers/facebook_auth_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "auth/src/desktop/auth_providers/facebook_auth_credential.h" #include "auth/src/desktop/credential_impl.h" diff --git a/auth/src/desktop/auth_providers/federated_auth_provider.cc b/auth/src/desktop/auth_providers/federated_auth_provider.cc index ab19908ed2..b3f03a432c 100644 --- a/auth/src/desktop/auth_providers/federated_auth_provider.cc +++ b/auth/src/desktop/auth_providers/federated_auth_provider.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/include/firebase/future.h" #include "app/src/include/firebase/internal/mutex.h" #include "auth/src/desktop/auth_desktop.h" diff --git a/auth/src/desktop/auth_providers/gamecenter_auth_provider.cc b/auth/src/desktop/auth_providers/gamecenter_auth_provider.cc index 8e4cd30176..676d338b85 100644 --- a/auth/src/desktop/auth_providers/gamecenter_auth_provider.cc +++ b/auth/src/desktop/auth_providers/gamecenter_auth_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "app/src/include/firebase/future.h" #include "auth/src/common.h" diff --git a/auth/src/desktop/auth_providers/github_auth_provider.cc b/auth/src/desktop/auth_providers/github_auth_provider.cc index f50286e53b..8c41f8219d 100644 --- a/auth/src/desktop/auth_providers/github_auth_provider.cc +++ b/auth/src/desktop/auth_providers/github_auth_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "auth/src/desktop/auth_providers/github_auth_credential.h" #include "auth/src/desktop/credential_impl.h" diff --git a/auth/src/desktop/auth_providers/google_auth_provider.cc b/auth/src/desktop/auth_providers/google_auth_provider.cc index 3a646c594f..321e2384be 100644 --- a/auth/src/desktop/auth_providers/google_auth_provider.cc +++ b/auth/src/desktop/auth_providers/google_auth_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "auth/src/desktop/auth_providers/google_auth_credential.h" #include "auth/src/desktop/credential_impl.h" diff --git a/auth/src/desktop/auth_providers/oauth_auth_provider.cc b/auth/src/desktop/auth_providers/oauth_auth_provider.cc index d442a54e39..af2422a90f 100644 --- a/auth/src/desktop/auth_providers/oauth_auth_provider.cc +++ b/auth/src/desktop/auth_providers/oauth_auth_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "auth/src/desktop/auth_providers/oauth_auth_credential.h" #include "auth/src/desktop/credential_impl.h" diff --git a/auth/src/desktop/auth_providers/phone_auth_provider.cc b/auth/src/desktop/auth_providers/phone_auth_provider.cc index e3ab8ed676..d5908ed51e 100644 --- a/auth/src/desktop/auth_providers/phone_auth_provider.cc +++ b/auth/src/desktop/auth_providers/phone_auth_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "app/src/assert.h" diff --git a/auth/src/desktop/auth_providers/playgames_auth_provider.cc b/auth/src/desktop/auth_providers/playgames_auth_provider.cc index b3a8516644..57ef878157 100644 --- a/auth/src/desktop/auth_providers/playgames_auth_provider.cc +++ b/auth/src/desktop/auth_providers/playgames_auth_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "auth/src/desktop/auth_providers/playgames_auth_credential.h" #include "auth/src/desktop/credential_impl.h" diff --git a/auth/src/desktop/auth_providers/twitter_auth_provider.cc b/auth/src/desktop/auth_providers/twitter_auth_provider.cc index f5a2d1edb2..1093df8b3f 100644 --- a/auth/src/desktop/auth_providers/twitter_auth_provider.cc +++ b/auth/src/desktop/auth_providers/twitter_auth_provider.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "auth/src/desktop/auth_providers/twitter_auth_credential.h" #include "auth/src/desktop/credential_impl.h" diff --git a/auth/src/desktop/auth_util.cc b/auth/src/desktop/auth_util.cc index 87bd985d7f..ab21952294 100644 --- a/auth/src/desktop/auth_util.cc +++ b/auth/src/desktop/auth_util.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/auth_util.h" #include "app/rest/transport_builder.h" diff --git a/auth/src/desktop/authentication_result.cc b/auth/src/desktop/authentication_result.cc index 2b12ab1855..d4e3df9af9 100644 --- a/auth/src/desktop/authentication_result.cc +++ b/auth/src/desktop/authentication_result.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/authentication_result.h" #include diff --git a/auth/src/desktop/credential_desktop.cc b/auth/src/desktop/credential_desktop.cc index 039dffa84f..8251ca15a9 100644 --- a/auth/src/desktop/credential_desktop.cc +++ b/auth/src/desktop/credential_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "app/src/assert.h" #include "auth/src/desktop/auth_credential.h" #include "auth/src/desktop/credential_impl.h" diff --git a/auth/src/desktop/credential_impl.cc b/auth/src/desktop/credential_impl.cc index 1cbd05a66e..ea87d98e1d 100644 --- a/auth/src/desktop/credential_impl.cc +++ b/auth/src/desktop/credential_impl.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/credential_impl.h" #include "auth/src/include/firebase/auth/credential.h" diff --git a/auth/src/desktop/credential_util.cc b/auth/src/desktop/credential_util.cc index 0b573a78a9..65da3e14f1 100644 --- a/auth/src/desktop/credential_util.cc +++ b/auth/src/desktop/credential_util.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/credential_util.h" #include "app/src/assert.h" diff --git a/auth/src/desktop/get_account_info_result.cc b/auth/src/desktop/get_account_info_result.cc index e2c3eb1e89..a9c6f0e230 100644 --- a/auth/src/desktop/get_account_info_result.cc +++ b/auth/src/desktop/get_account_info_result.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/get_account_info_result.h" #include "app/rest/util.h" diff --git a/auth/src/desktop/get_additional_user_info.cc b/auth/src/desktop/get_additional_user_info.cc index a875b07dc5..bfffa2a863 100644 --- a/auth/src/desktop/get_additional_user_info.cc +++ b/auth/src/desktop/get_additional_user_info.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/get_additional_user_info.h" #include "app/src/log.h" diff --git a/auth/src/desktop/rpcs/auth_request.cc b/auth/src/desktop/rpcs/auth_request.cc index a4f4b9dd3b..8ff7dbea4a 100644 --- a/auth/src/desktop/rpcs/auth_request.cc +++ b/auth/src/desktop/rpcs/auth_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/auth_request.h" #include diff --git a/auth/src/desktop/rpcs/auth_response.cc b/auth/src/desktop/rpcs/auth_response.cc index f992cf6023..02cfda59d0 100644 --- a/auth/src/desktop/rpcs/auth_response.cc +++ b/auth/src/desktop/rpcs/auth_response.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/auth_response.h" #include "app/rest/util.h" diff --git a/auth/src/desktop/rpcs/create_auth_uri_request.cc b/auth/src/desktop/rpcs/create_auth_uri_request.cc index e0de666b47..ecbfd2a74f 100644 --- a/auth/src/desktop/rpcs/create_auth_uri_request.cc +++ b/auth/src/desktop/rpcs/create_auth_uri_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/create_auth_uri_request.h" #include diff --git a/auth/src/desktop/rpcs/delete_account_request.cc b/auth/src/desktop/rpcs/delete_account_request.cc index 359fb0d74c..4fef60a28a 100644 --- a/auth/src/desktop/rpcs/delete_account_request.cc +++ b/auth/src/desktop/rpcs/delete_account_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/delete_account_request.h" #include diff --git a/auth/src/desktop/rpcs/error_codes.cc b/auth/src/desktop/rpcs/error_codes.cc index fb9adaa6dd..101908f5b4 100644 --- a/auth/src/desktop/rpcs/error_codes.cc +++ b/auth/src/desktop/rpcs/error_codes.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/error_codes.h" #include diff --git a/auth/src/desktop/rpcs/get_account_info_request.cc b/auth/src/desktop/rpcs/get_account_info_request.cc index e5f6cd4e78..3729e4fa41 100644 --- a/auth/src/desktop/rpcs/get_account_info_request.cc +++ b/auth/src/desktop/rpcs/get_account_info_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/get_account_info_request.h" #include diff --git a/auth/src/desktop/rpcs/get_oob_confirmation_code_request.cc b/auth/src/desktop/rpcs/get_oob_confirmation_code_request.cc index c3edada2d6..fd5ad7a9d4 100644 --- a/auth/src/desktop/rpcs/get_oob_confirmation_code_request.cc +++ b/auth/src/desktop/rpcs/get_oob_confirmation_code_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/get_oob_confirmation_code_request.h" #include diff --git a/auth/src/desktop/rpcs/reset_password_request.cc b/auth/src/desktop/rpcs/reset_password_request.cc index a8c64d1ffe..9a4c1a68fc 100644 --- a/auth/src/desktop/rpcs/reset_password_request.cc +++ b/auth/src/desktop/rpcs/reset_password_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/reset_password_request.h" #include diff --git a/auth/src/desktop/rpcs/secure_token_request.cc b/auth/src/desktop/rpcs/secure_token_request.cc index 7356157f58..0d4dd76ca4 100644 --- a/auth/src/desktop/rpcs/secure_token_request.cc +++ b/auth/src/desktop/rpcs/secure_token_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/secure_token_request.h" #include "app/src/assert.h" diff --git a/auth/src/desktop/rpcs/set_account_info_request.cc b/auth/src/desktop/rpcs/set_account_info_request.cc index 618cbef902..201d0aed1b 100644 --- a/auth/src/desktop/rpcs/set_account_info_request.cc +++ b/auth/src/desktop/rpcs/set_account_info_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/set_account_info_request.h" #include diff --git a/auth/src/desktop/rpcs/sign_up_new_user_request.cc b/auth/src/desktop/rpcs/sign_up_new_user_request.cc index bd8d5ed099..8f29a7efad 100644 --- a/auth/src/desktop/rpcs/sign_up_new_user_request.cc +++ b/auth/src/desktop/rpcs/sign_up_new_user_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/sign_up_new_user_request.h" #include diff --git a/auth/src/desktop/rpcs/sign_up_request.cc b/auth/src/desktop/rpcs/sign_up_request.cc index c11537c300..e92d03bfec 100644 --- a/auth/src/desktop/rpcs/sign_up_request.cc +++ b/auth/src/desktop/rpcs/sign_up_request.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "auth/src/desktop/rpcs/sign_up_request.h" #include diff --git a/auth/src/desktop/rpcs/verify_assertion_request.cc b/auth/src/desktop/rpcs/verify_assertion_request.cc index cca72d5787..c37694b79b 100644 --- a/auth/src/desktop/rpcs/verify_assertion_request.cc +++ b/auth/src/desktop/rpcs/verify_assertion_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/verify_assertion_request.h" #include diff --git a/auth/src/desktop/rpcs/verify_custom_token_request.cc b/auth/src/desktop/rpcs/verify_custom_token_request.cc index af53e6f3f2..52ca2615f1 100644 --- a/auth/src/desktop/rpcs/verify_custom_token_request.cc +++ b/auth/src/desktop/rpcs/verify_custom_token_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/verify_custom_token_request.h" #include diff --git a/auth/src/desktop/rpcs/verify_password_request.cc b/auth/src/desktop/rpcs/verify_password_request.cc index db840685a3..bf1c3bebdc 100644 --- a/auth/src/desktop/rpcs/verify_password_request.cc +++ b/auth/src/desktop/rpcs/verify_password_request.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/rpcs/verify_password_request.h" #include diff --git a/auth/src/desktop/set_account_info_result.cc b/auth/src/desktop/set_account_info_result.cc index 31d40ab563..45722dd983 100644 --- a/auth/src/desktop/set_account_info_result.cc +++ b/auth/src/desktop/set_account_info_result.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/set_account_info_result.h" #include "app/rest/util.h" diff --git a/auth/src/desktop/sign_in_flow.cc b/auth/src/desktop/sign_in_flow.cc index 9fed420bca..2aed71eaa4 100644 --- a/auth/src/desktop/sign_in_flow.cc +++ b/auth/src/desktop/sign_in_flow.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/sign_in_flow.h" #include "auth/src/desktop/rpcs/get_account_info_request.h" diff --git a/auth/src/desktop/user_desktop.cc b/auth/src/desktop/user_desktop.cc index fb065e9f27..2c34a90ec4 100644 --- a/auth/src/desktop/user_desktop.cc +++ b/auth/src/desktop/user_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/user_desktop.h" #include diff --git a/auth/src/desktop/user_view.cc b/auth/src/desktop/user_view.cc index 2ebec071a6..ae76ab5000 100644 --- a/auth/src/desktop/user_view.cc +++ b/auth/src/desktop/user_view.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/user_view.h" namespace firebase { diff --git a/auth/src/ios/auth_ios.mm b/auth/src/ios/auth_ios.mm index a0292ba3b8..b656dad2d8 100644 --- a/auth/src/ios/auth_ios.mm +++ b/auth/src/ios/auth_ios.mm @@ -22,6 +22,9 @@ // This needs to be after the FIRAuthInterop import #import "FirebaseAuth-Swift.h" +#include +#include +#include #include "app/src/app_ios.h" #include "app/src/assert.h" #include "app/src/include/firebase/internal/common.h" diff --git a/auth/src/ios/credential_ios.mm b/auth/src/ios/credential_ios.mm index a308437a17..badfc0a7d6 100644 --- a/auth/src/ios/credential_ios.mm +++ b/auth/src/ios/credential_ios.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/assert.h" #include "app/src/util_ios.h" #include "auth/src/ios/common_ios.h" diff --git a/auth/src/ios/fake/FIRAuth.mm b/auth/src/ios/fake/FIRAuth.mm index 9c51dadae9..0109d1d713 100644 --- a/auth/src/ios/fake/FIRAuth.mm +++ b/auth/src/ios/fake/FIRAuth.mm @@ -20,6 +20,9 @@ #import "auth/src/ios/fake/FIRAuthUIDelegate.h" #import "auth/src/ios/fake/FIRUser.h" +#include +#include +#include #include #include #include "testing/util_ios.h" diff --git a/auth/src/ios/fake/FIRUser.mm b/auth/src/ios/fake/FIRUser.mm index ab8967c879..e16bc037e9 100644 --- a/auth/src/ios/fake/FIRUser.mm +++ b/auth/src/ios/fake/FIRUser.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "testing/config_ios.h" #include "testing/ticker_ios.h" #include "testing/util_ios.h" diff --git a/auth/src/ios/user_ios.mm b/auth/src/ios/user_ios.mm index 2eb020307f..5dec7ae2d2 100644 --- a/auth/src/ios/user_ios.mm +++ b/auth/src/ios/user_ios.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/time.h" #include "auth/src/ios/common_ios.h" diff --git a/auth/src/user.cc b/auth/src/user.cc index 4f48f6d7f0..e3b9b5d7bf 100644 --- a/auth/src/user.cc +++ b/auth/src/user.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "auth/src/common.h" namespace firebase { diff --git a/auth/tests/auth_test.cc b/auth/tests/auth_test.cc index a0fd854ae3..3e55c53de9 100644 --- a/auth/tests/auth_test.cc +++ b/auth/tests/auth_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #if defined(FIREBASE_ANDROID_FOR_DESKTOP) diff --git a/auth/tests/credential_test.cc b/auth/tests/credential_test.cc index 226dffb306..498c91cb0d 100644 --- a/auth/tests/credential_test.cc +++ b/auth/tests/credential_test.cc @@ -16,6 +16,9 @@ #if defined(FIREBASE_ANDROID_FOR_DESKTOP) #define __ANDROID__ +#include +#include +#include #include #include "testing/run_all_tests.h" diff --git a/auth/tests/desktop/auth_desktop_test.cc b/auth/tests/desktop/auth_desktop_test.cc index dc7dab7b31..783a0aa5d8 100644 --- a/auth/tests/desktop/auth_desktop_test.cc +++ b/auth/tests/desktop/auth_desktop_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/auth_desktop.h" #include diff --git a/auth/tests/desktop/fakes.cc b/auth/tests/desktop/fakes.cc index 7f49971e44..92f210a4fa 100644 --- a/auth/tests/desktop/fakes.cc +++ b/auth/tests/desktop/fakes.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/tests/desktop/fakes.h" #include "testing/config.h" diff --git a/auth/tests/desktop/rpcs/auth_request_heartbeat_test.cc b/auth/tests/desktop/rpcs/auth_request_heartbeat_test.cc index d327397b62..17d7ccff0c 100644 --- a/auth/tests/desktop/rpcs/auth_request_heartbeat_test.cc +++ b/auth/tests/desktop/rpcs/auth_request_heartbeat_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/create_auth_uri_test.cc b/auth/tests/desktop/rpcs/create_auth_uri_test.cc index 91a393f441..e5ab28e1b1 100644 --- a/auth/tests/desktop/rpcs/create_auth_uri_test.cc +++ b/auth/tests/desktop/rpcs/create_auth_uri_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/delete_account_test.cc b/auth/tests/desktop/rpcs/delete_account_test.cc index e6d8a98bcf..6d75bbe30b 100644 --- a/auth/tests/desktop/rpcs/delete_account_test.cc +++ b/auth/tests/desktop/rpcs/delete_account_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/get_account_info_test.cc b/auth/tests/desktop/rpcs/get_account_info_test.cc index 368b079b93..592712926a 100644 --- a/auth/tests/desktop/rpcs/get_account_info_test.cc +++ b/auth/tests/desktop/rpcs/get_account_info_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/get_oob_confirmation_code_test.cc b/auth/tests/desktop/rpcs/get_oob_confirmation_code_test.cc index cf9717853d..cd7fe8ec07 100644 --- a/auth/tests/desktop/rpcs/get_oob_confirmation_code_test.cc +++ b/auth/tests/desktop/rpcs/get_oob_confirmation_code_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/reset_password_test.cc b/auth/tests/desktop/rpcs/reset_password_test.cc index 2901ca596e..c0a12193cf 100644 --- a/auth/tests/desktop/rpcs/reset_password_test.cc +++ b/auth/tests/desktop/rpcs/reset_password_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/secure_token_test.cc b/auth/tests/desktop/rpcs/secure_token_test.cc index ff6fd589c4..f8613a0e87 100644 --- a/auth/tests/desktop/rpcs/secure_token_test.cc +++ b/auth/tests/desktop/rpcs/secure_token_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/set_account_info_test.cc b/auth/tests/desktop/rpcs/set_account_info_test.cc index ce38726238..b6a7bd485b 100644 --- a/auth/tests/desktop/rpcs/set_account_info_test.cc +++ b/auth/tests/desktop/rpcs/set_account_info_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/sign_up_new_user_test.cc b/auth/tests/desktop/rpcs/sign_up_new_user_test.cc index a7b3374bce..b2e84dbfa0 100644 --- a/auth/tests/desktop/rpcs/sign_up_new_user_test.cc +++ b/auth/tests/desktop/rpcs/sign_up_new_user_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/test_util.cc b/auth/tests/desktop/rpcs/test_util.cc index 7025ed56ae..52522a04dd 100644 --- a/auth/tests/desktop/rpcs/test_util.cc +++ b/auth/tests/desktop/rpcs/test_util.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/tests/desktop/rpcs/test_util.h" #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/verify_assertion_test.cc b/auth/tests/desktop/rpcs/verify_assertion_test.cc index ba7139a6d6..64e18f33f3 100644 --- a/auth/tests/desktop/rpcs/verify_assertion_test.cc +++ b/auth/tests/desktop/rpcs/verify_assertion_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/verify_custom_token_test.cc b/auth/tests/desktop/rpcs/verify_custom_token_test.cc index 7d4341d37b..42d11f811a 100644 --- a/auth/tests/desktop/rpcs/verify_custom_token_test.cc +++ b/auth/tests/desktop/rpcs/verify_custom_token_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/rpcs/verify_password_test.cc b/auth/tests/desktop/rpcs/verify_password_test.cc index 0383245467..3a75dbf4dd 100644 --- a/auth/tests/desktop/rpcs/verify_password_test.cc +++ b/auth/tests/desktop/rpcs/verify_password_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include "app/rest/transport_builder.h" diff --git a/auth/tests/desktop/test_utils.cc b/auth/tests/desktop/test_utils.cc index de86beed5a..3955f044b9 100644 --- a/auth/tests/desktop/test_utils.cc +++ b/auth/tests/desktop/test_utils.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/tests/desktop/test_utils.h" namespace firebase { diff --git a/auth/tests/desktop/user_desktop_test.cc b/auth/tests/desktop/user_desktop_test.cc index 276bf3221c..b66f617ccc 100644 --- a/auth/tests/desktop/user_desktop_test.cc +++ b/auth/tests/desktop/user_desktop_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "auth/src/desktop/user_desktop.h" #include "app/rest/transport_builder.h" diff --git a/auth/tests/user_test.cc b/auth/tests/user_test.cc index 79ed0d933e..04a75b6908 100644 --- a/auth/tests/user_test.cc +++ b/auth/tests/user_test.cc @@ -16,6 +16,9 @@ #if defined(FIREBASE_ANDROID_FOR_DESKTOP) #define __ANDROID__ +#include +#include +#include #include #include "testing/run_all_tests.h" diff --git a/build_scripts/ios/build.sh b/build_scripts/ios/build.sh deleted file mode 100755 index 73af95608f..0000000000 --- a/build_scripts/ios/build.sh +++ /dev/null @@ -1,260 +0,0 @@ -#!/bin/bash -e - -# Copyright 2020 Google LLC -# -# Script to build iOS XCFrameworks -# If built for all architectures (arm64 x86_64), -# it will build universal framework as well -# - -usage(){ - echo "Usage: $0 [options] - options: - -b, build path default: ios_build - -s, source path default: . - -p, framework platform default: ${SUPPORTED_PLATFORMS[@]} - -a, framework architecture default: ${SUPPORTED_ARCHITECTURES[@]} - -t, CMake target default: ${SUPPORTED_TARGETS[@]} - -g, generate Makefiles default: true - -c, CMake build default: true - example: - build_scripts/ios/build.sh -b ios_build -s . -a arm64,x86_64 -t firebase_gma,firebase_auth -c false" -} - -set -e - -readonly SUPPORTED_PLATFORMS=(device simulator) -readonly SUPPORTED_ARCHITECTURES=(arm64 x86_64) -readonly DEVICE_ARCHITECTURES=(arm64) -readonly SIMULATOR_ARCHITECTURES=(arm64 x86_64) -readonly SUPPORTED_TARGETS=(firebase_analytics firebase_auth firebase_app_check firebase_database firebase_firestore firebase_functions firebase_installations firebase_messaging firebase_remote_config firebase_storage firebase_ump) - -# build default value -buildpath="ios_build" -sourcepath="." -platforms=("${SUPPORTED_PLATFORMS[@]}") -architectures=("${SUPPORTED_ARCHITECTURES[@]}") -targets=("${SUPPORTED_TARGETS[@]}") -generateMakefiles=true -cmakeBuild=true - -# check options -IFS=',' # split options on ',' characters -while getopts ":b:s:p:a:t:g:ch" opt; do - case $opt in - h) - usage - exit 0 - ;; - b) - buildpath=$OPTARG - ;; - s) - sourcepath=$OPTARG - if [[ ! -d "${sourcepath}" ]]; then - echo "Source path ${sourcepath} not found." - exit 2 - fi - ;; - p) - platforms=($OPTARG) - for platform in ${platforms[@]}; do - if [[ ! " ${SUPPORTED_PLATFORMS[@]} " =~ " ${platform} " ]]; then - echo "invalid platform: ${platform}" - echo "Supported platforms are: ${SUPPORTED_PLATFORMS[@]}" - exit 2 - fi - done - ;; - a) - architectures=($OPTARG) - for arch in ${architectures[@]}; do - if [[ ! " ${SUPPORTED_ARCHITECTURES[@]} " =~ " ${arch} " ]]; then - echo "invalid architecture: ${arch}" - echo "Supported architectures are: ${SUPPORTED_ARCHITECTURES[@]}" - exit 2 - fi - done - ;; - t) - targets=($OPTARG) - for t in ${targets[@]}; do - if [[ ! " ${SUPPORTED_TARGETS[@]} " =~ " ${t} " ]]; then - echo "invalid target: ${t}" - echo "Supported targets are: ${SUPPORTED_TARGETS[@]}" - exit 2 - fi - done - ;; - g) - if [[ $OPTARG == true ]]; then - generateMakefiles=true - else - generateMakefiles=false - fi - ;; - c) - if [[ $OPTARG == true ]]; then - cmakeBuild=true - else - cmakeBuild=false - fi - ;; - *) - echo "unknown parameter" - exit 2 - ;; - esac -done -echo "build path: ${buildpath}" -echo "source path: ${sourcepath}" -echo "build platforms: ${platforms[@]}" -echo "build architectures: ${architectures[@]}" -echo "build targets: ${targets[@]}" -echo "generate Makefiles: ${generateMakefiles}" -echo "CMake Build: ${cmakeBuild}" -sourcepath=$(cd ${sourcepath} && pwd) #full path -buildpath=$(mkdir -p ${buildpath} && cd ${buildpath} && pwd) #full path - -# generate Makefiles for each architecture and target -frameworkspath="frameworks/ios" -if ${generateMakefiles}; then - for platform in ${platforms[@]}; do - for arch in ${architectures[@]}; do - sysroot_arg="" - if [[ "${platform}" == "device" && " ${DEVICE_ARCHITECTURES[@]} " =~ " ${arch} " ]]; then - sysroot_arg="" # Default iphoneos sysroot is correct for iOS devices - elif [[ "${platform}" == "simulator" && " ${SIMULATOR_ARCHITECTURES[@]} " =~ " ${arch} " ]]; then - sysroot_arg="-DCMAKE_OSX_SYSROOT=iphonesimulator" # Must specify sysroot for simulator, especially for x86_64 - else - continue # Skip invalid platform/OS combinations - fi - - echo "generate Makefiles start" - mkdir -p ${buildpath}/ios_build_file/${platform}-${arch} && cd ${buildpath}/ios_build_file/${platform}-${arch} - cmake -DCMAKE_SYSTEM_NAME=iOS \ - ${sysroot_arg} \ - -DCMAKE_OSX_ARCHITECTURES=${arch} \ - -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=${buildpath}/${frameworkspath}/${platform}-${arch} \ - ${sourcepath} - echo "generate Makefiles end" - done - done -fi - -# build framework for each architecture and target -IFS=$'\n' # split $(ls) on \n characters -if ${cmakeBuild}; then - for platform in ${platforms[@]}; do - for arch in ${architectures[@]}; do - if [ -d "${buildpath}/ios_build_file/${platform}-${arch}" ]; then - { - cd ${buildpath}/ios_build_file/${platform}-${arch} - echo "build ${platform} ${arch} ${targets[@]} framework start" - cmake --build . --target ${targets[@]} - echo "build ${platform} ${arch} ${targets[@]} framework end" - - } & - fi - done - done - subprocess_fail=0 - for job in $(jobs -p); do - wait $job || let "subprocess_fail+=1" - done - if [ "${subprocess_fail}" == "0" ]; then - echo "frameworks build end" - else - echo "frameworks build error, ${subprocess_fail} architecture(s) build failed" - exit 2 - fi - - # arrange the framework - cd ${buildpath}/${frameworkspath} - for platform in ${platforms[@]}; do - for arch in ${architectures[@]}; do - if [[ ! -d "${platform}-${arch}" ]]; then - continue - fi - - # rename firebase_app to firebase - if [[ ! -d "${platform}-${arch}/firebase.framework" ]]; then - mv ${platform}-${arch}/firebase_app.framework ${platform}-${arch}/firebase.framework - mv ${platform}-${arch}/firebase.framework/firebase_app ${platform}-${arch}/firebase.framework/firebase - rm ${platform}-${arch}/firebase.framework/Info.plist - fi - - # delete useless Info.plist - for target in ${targets[@]}; do - if [[ -f "${platform}-${arch}/${target}.framework/Info.plist" ]]; then - rm ${platform}-${arch}/${target}.framework/Info.plist - fi - done - - # delete non-framework dir - for dir in $(ls ${platform}-${arch}); do - if [[ ! ${dir} =~ ".framework" ]]; then - rm -rf ${platform}-${arch}/${dir} - fi - done - done - done - - # if we built for all architectures (arm64 x86_64) - # build universal framework as well - if [[ ${#architectures[@]} < ${#SUPPORTED_ARCHITECTURES[@]} ]]; then - exit 0 - fi - - targets+=('firebase') - for target in ${targets[@]}; do - mkdir -p universal/${target}.framework - libsubpath="${target}.framework/${target}" - lipo -create "device-arm64/${libsubpath}" \ - "simulator-x86_64/${libsubpath}" \ - -output "universal/${libsubpath}" - done - if [[ ! -d "universal/firebase.framework/Headers" ]]; then - cp -R device-arm64/firebase.framework/Headers universal/firebase.framework - fi - echo "universal frameworks build end & ready to use" - - # covert framework into xcframework - cd ${buildpath} - xcframeworkspath="xcframeworks" - mkdir -p ${xcframeworkspath} - # create library for xcframework - for platform in ${platforms[@]}; do - for target in ${targets[@]}; do - libsubpath="${target}.framework/${target}" - if [[ "${platform}" == "device" ]]; then - outputdir="${xcframeworkspath}/${target}.xcframework/ios-arm64/${target}.framework" - mkdir -p ${outputdir} - lipo -create "${frameworkspath}/device-arm64/${libsubpath}" \ - -output "${outputdir}/${target}" - - elif [[ "${platform}" == "simulator" ]]; then - outputdir="${xcframeworkspath}/${target}.xcframework/ios-arm64_x86_64-simulator/${target}.framework" - mkdir -p ${outputdir} - lipo -create "${frameworkspath}/simulator-arm64/${libsubpath}" \ - "${frameworkspath}/simulator-x86_64/${libsubpath}" \ - -output "${outputdir}/${target}" - fi - done - done - - # create Info.plist for xcframework - for target in ${targets[@]}; do - cp ${sourcepath}/build_scripts/ios/Info.plist ${xcframeworkspath}/${target}.xcframework - sed -i "" "s/LIBRARY_PATH/${target}.framework/" ${xcframeworkspath}/${target}.xcframework/Info.plist - done - - # create Headers for xcframework - if [[ ! -d "${xcframeworkspath}/firebase.xcframework/ios-arm64/firebase.framework/Headers" ]]; then - cp -R ${frameworkspath}/device-arm64/firebase.framework/Headers \ - ${xcframeworkspath}/firebase.xcframework/ios-arm64/firebase.framework/Headers - cp -R ${frameworkspath}/device-arm64/firebase.framework/Headers \ - ${xcframeworkspath}/firebase.xcframework/ios-arm64_x86_64-simulator/firebase.framework/Headers - fi - echo "xcframeworks build end & ready to use" -fi diff --git a/cmake/firebase_standard_target.cmake b/cmake/firebase_standard_target.cmake new file mode 100644 index 0000000000..406a6b19a9 --- /dev/null +++ b/cmake/firebase_standard_target.cmake @@ -0,0 +1,25 @@ +# ============================================================================== +# Firebase Standard Target Macro +# Centralizes all library definitions, platform handling, and Apple output standards! +# ============================================================================== + +macro(add_firebase_sdk_target target_name apple_output_name) + # 1. Define the static library from the provided source list + add_library(${target_name} STATIC ${ARGN}) + + # 2. Standardize Apple binary configuration globally + if(IOS OR TVOS OR MACOS) + set_target_properties(${target_name} PROPERTIES + FRAMEWORK TRUE + OUTPUT_NAME "${apple_output_name}" + ) + endif() + + # 3. Apply common IDE folder nesting rules + set_property(TARGET ${target_name} PROPERTY FOLDER "Firebase Cpp") + + # 4. Automatically attach the generated core headers as a standard dependency + if(TARGET FIREBASE_APP_GENERATED_HEADERS) + add_dependencies(${target_name} FIREBASE_APP_GENERATED_HEADERS) + endif() +endmacro() diff --git a/database/CMakeLists.txt b/database/CMakeLists.txt index 8c3550d342..b659af75ac 100644 --- a/database/CMakeLists.txt +++ b/database/CMakeLists.txt @@ -216,12 +216,7 @@ target_compile_definitions(firebase_database -DINTERNAL_EXPERIMENTAL=1 ${additional_DEFINES} ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() + if(ANDROID) firebase_cpp_proguard_file(database) @@ -238,11 +233,10 @@ elseif(IOS) FirebaseCore FirebaseDatabase ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_database PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_database PROPERTIES + OUTPUT_NAME "FirebaseDatabase" + FRAMEWORK TRUE + ) endif() if(FIREBASE_CPP_BUILD_TESTS) diff --git a/database/src/android/data_snapshot_android.cc b/database/src/android/data_snapshot_android.cc index af4d0603cc..f0efb989d0 100644 --- a/database/src/android/data_snapshot_android.cc +++ b/database/src/android/data_snapshot_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/android/data_snapshot_android.h" #include diff --git a/database/src/android/database_android.cc b/database/src/android/database_android.cc index ee5d72051a..2aef59bf81 100644 --- a/database/src/android/database_android.cc +++ b/database/src/android/database_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/android/database_android.h" #include diff --git a/database/src/android/database_reference_android.cc b/database/src/android/database_reference_android.cc index d3d3947068..a27a3451f1 100644 --- a/database/src/android/database_reference_android.cc +++ b/database/src/android/database_reference_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/android/database_reference_android.h" #include diff --git a/database/src/android/disconnection_android.cc b/database/src/android/disconnection_android.cc index af59c1e2b6..82f1d736df 100644 --- a/database/src/android/disconnection_android.cc +++ b/database/src/android/disconnection_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/android/disconnection_android.h" #include diff --git a/database/src/android/mutable_data_android.cc b/database/src/android/mutable_data_android.cc index 99f5a17bc4..a9cfc5ce71 100644 --- a/database/src/android/mutable_data_android.cc +++ b/database/src/android/mutable_data_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/android/mutable_data_android.h" #include diff --git a/database/src/android/query_android.cc b/database/src/android/query_android.cc index 23ec28c43b..02cfbf257a 100644 --- a/database/src/android/query_android.cc +++ b/database/src/android/query_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/android/query_android.h" #include diff --git a/database/src/android/util_android.cc b/database/src/android/util_android.cc index 247ed84837..f0e9699f5e 100644 --- a/database/src/android/util_android.cc +++ b/database/src/android/util_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/android/util_android.h" #include "app/src/include/firebase/future.h" diff --git a/database/src/common/common.cc b/database/src/common/common.cc index dd2daa212c..4da9bbec37 100644 --- a/database/src/common/common.cc +++ b/database/src/common/common.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/include/firebase/database/common.h" #include "app/src/include/firebase/internal/common.h" diff --git a/database/src/common/data_snapshot.cc b/database/src/common/data_snapshot.cc index 3bbc44bd34..2f23e45180 100644 --- a/database/src/common/data_snapshot.cc +++ b/database/src/common/data_snapshot.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/include/firebase/database/data_snapshot.h" #include "app/src/assert.h" diff --git a/database/src/common/database.cc b/database/src/common/database.cc index f6e88df269..b9af44a5dc 100644 --- a/database/src/common/database.cc +++ b/database/src/common/database.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/include/firebase/database.h" #include diff --git a/database/src/common/database_reference.cc b/database/src/common/database_reference.cc index b71c578418..67f46ceeea 100644 --- a/database/src/common/database_reference.cc +++ b/database/src/common/database_reference.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/include/firebase/database/database_reference.h" #include "app/src/assert.h" diff --git a/database/src/common/disconnection.cc b/database/src/common/disconnection.cc index 18da226990..9165d9b470 100644 --- a/database/src/common/disconnection.cc +++ b/database/src/common/disconnection.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/include/firebase/database/disconnection.h" #include "app/src/include/firebase/internal/platform.h" diff --git a/database/src/common/listener.cc b/database/src/common/listener.cc index 4e03156784..c57a3fd656 100644 --- a/database/src/common/listener.cc +++ b/database/src/common/listener.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/common/listener.h" #include "database/src/include/firebase/database/listener.h" diff --git a/database/src/common/mutable_data.cc b/database/src/common/mutable_data.cc index fa0ad7a31f..d768059e44 100644 --- a/database/src/common/mutable_data.cc +++ b/database/src/common/mutable_data.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/include/firebase/database/mutable_data.h" #include "app/src/assert.h" diff --git a/database/src/common/query.cc b/database/src/common/query.cc index 685893bb8d..d517cd3a49 100644 --- a/database/src/common/query.cc +++ b/database/src/common/query.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/common/query.h" #include "app/src/assert.h" diff --git a/database/src/desktop/connection/host_info.cc b/database/src/desktop/connection/host_info.cc index 0353a375c1..90a62548db 100644 --- a/database/src/desktop/connection/host_info.cc +++ b/database/src/desktop/connection/host_info.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/connection/host_info.h" #include diff --git a/database/src/desktop/connection/persistent_connection.cc b/database/src/desktop/connection/persistent_connection.cc index c1db3dfd8c..28894de9ed 100644 --- a/database/src/desktop/connection/persistent_connection.cc +++ b/database/src/desktop/connection/persistent_connection.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/connection/persistent_connection.h" #include diff --git a/database/src/desktop/connection/util_connection.cc b/database/src/desktop/connection/util_connection.cc index dbac9b53dd..a6ea64e492 100644 --- a/database/src/desktop/connection/util_connection.cc +++ b/database/src/desktop/connection/util_connection.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/connection/util_connection.h" #include diff --git a/database/src/desktop/connection/web_socket_client_impl.cc b/database/src/desktop/connection/web_socket_client_impl.cc index 2195c0c03a..10ccb968f2 100644 --- a/database/src/desktop/connection/web_socket_client_impl.cc +++ b/database/src/desktop/connection/web_socket_client_impl.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/connection/web_socket_client_impl.h" #include diff --git a/database/src/desktop/core/cache_policy.cc b/database/src/desktop/core/cache_policy.cc index 8c574e21fd..86a03c1ade 100644 --- a/database/src/desktop/core/cache_policy.cc +++ b/database/src/desktop/core/cache_policy.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/cache_policy.h" #include diff --git a/database/src/desktop/core/child_event_registration.cc b/database/src/desktop/core/child_event_registration.cc index 87406630a8..a0c9158f7d 100644 --- a/database/src/desktop/core/child_event_registration.cc +++ b/database/src/desktop/core/child_event_registration.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/child_event_registration.h" #include "database/src/desktop/data_snapshot_desktop.h" diff --git a/database/src/desktop/core/compound_write.cc b/database/src/desktop/core/compound_write.cc index 4489128a75..91f6fecae0 100644 --- a/database/src/desktop/core/compound_write.cc +++ b/database/src/desktop/core/compound_write.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/compound_write.h" #include "app/src/assert.h" diff --git a/database/src/desktop/core/constants.cc b/database/src/desktop/core/constants.cc index a33c043c27..47a3761c16 100644 --- a/database/src/desktop/core/constants.cc +++ b/database/src/desktop/core/constants.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/constants.h" namespace firebase { diff --git a/database/src/desktop/core/event_registration.cc b/database/src/desktop/core/event_registration.cc index 6396d80221..7fa9d763d7 100644 --- a/database/src/desktop/core/event_registration.cc +++ b/database/src/desktop/core/event_registration.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/event_registration.h" namespace firebase { diff --git a/database/src/desktop/core/indexed_variant.cc b/database/src/desktop/core/indexed_variant.cc index 994acd61fb..a4f85ed792 100644 --- a/database/src/desktop/core/indexed_variant.cc +++ b/database/src/desktop/core/indexed_variant.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/indexed_variant.h" #include diff --git a/database/src/desktop/core/info_listen_provider.cc b/database/src/desktop/core/info_listen_provider.cc index 0ce1df5068..06dd5c3f54 100644 --- a/database/src/desktop/core/info_listen_provider.cc +++ b/database/src/desktop/core/info_listen_provider.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/info_listen_provider.h" #include "database/src/common/query_spec.h" diff --git a/database/src/desktop/core/keep_synced_event_registration.cc b/database/src/desktop/core/keep_synced_event_registration.cc index 2605f6c745..7131ef2956 100644 --- a/database/src/desktop/core/keep_synced_event_registration.cc +++ b/database/src/desktop/core/keep_synced_event_registration.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/keep_synced_event_registration.h" #include diff --git a/database/src/desktop/core/listen_provider.cc b/database/src/desktop/core/listen_provider.cc index 850fb55cee..236390a2f0 100644 --- a/database/src/desktop/core/listen_provider.cc +++ b/database/src/desktop/core/listen_provider.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/listen_provider.h" namespace firebase { diff --git a/database/src/desktop/core/operation.cc b/database/src/desktop/core/operation.cc index 9234238507..e3636b7032 100644 --- a/database/src/desktop/core/operation.cc +++ b/database/src/desktop/core/operation.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/operation.h" #include "app/src/assert.h" diff --git a/database/src/desktop/core/repo.cc b/database/src/desktop/core/repo.cc index 23f12774c7..212d516d21 100644 --- a/database/src/desktop/core/repo.cc +++ b/database/src/desktop/core/repo.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/repo.h" #include diff --git a/database/src/desktop/core/server_values.cc b/database/src/desktop/core/server_values.cc index 34a5c803ec..ac3afcd26e 100644 --- a/database/src/desktop/core/server_values.cc +++ b/database/src/desktop/core/server_values.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/server_values.h" #include diff --git a/database/src/desktop/core/sparse_snapshot_tree.cc b/database/src/desktop/core/sparse_snapshot_tree.cc index 06d6637444..7dbdb5acb1 100644 --- a/database/src/desktop/core/sparse_snapshot_tree.cc +++ b/database/src/desktop/core/sparse_snapshot_tree.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/sparse_snapshot_tree.h" #include "app/src/include/firebase/variant.h" diff --git a/database/src/desktop/core/sync_point.cc b/database/src/desktop/core/sync_point.cc index 87909eed8d..53b23d4c34 100644 --- a/database/src/desktop/core/sync_point.cc +++ b/database/src/desktop/core/sync_point.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/sync_point.h" #include diff --git a/database/src/desktop/core/sync_tree.cc b/database/src/desktop/core/sync_tree.cc index be4d872744..5ff3e965a3 100644 --- a/database/src/desktop/core/sync_tree.cc +++ b/database/src/desktop/core/sync_tree.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/sync_tree.h" #include diff --git a/database/src/desktop/core/tracked_query_manager.cc b/database/src/desktop/core/tracked_query_manager.cc index 2ba89710d5..ed15c14d7e 100644 --- a/database/src/desktop/core/tracked_query_manager.cc +++ b/database/src/desktop/core/tracked_query_manager.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/tracked_query_manager.h" #include diff --git a/database/src/desktop/core/value_event_registration.cc b/database/src/desktop/core/value_event_registration.cc index 49a2f9fcbb..90b198ef43 100644 --- a/database/src/desktop/core/value_event_registration.cc +++ b/database/src/desktop/core/value_event_registration.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/value_event_registration.h" #include "database/src/desktop/data_snapshot_desktop.h" diff --git a/database/src/desktop/core/web_socket_listen_provider.cc b/database/src/desktop/core/web_socket_listen_provider.cc index 8793a842f5..ad024ff51d 100644 --- a/database/src/desktop/core/web_socket_listen_provider.cc +++ b/database/src/desktop/core/web_socket_listen_provider.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/web_socket_listen_provider.h" #include diff --git a/database/src/desktop/core/write_tree.cc b/database/src/desktop/core/write_tree.cc index 965e8c172d..253a8a3994 100644 --- a/database/src/desktop/core/write_tree.cc +++ b/database/src/desktop/core/write_tree.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/write_tree.h" #include diff --git a/database/src/desktop/data_snapshot_desktop.cc b/database/src/desktop/data_snapshot_desktop.cc index f835be2aab..4c9666a184 100644 --- a/database/src/desktop/data_snapshot_desktop.cc +++ b/database/src/desktop/data_snapshot_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/data_snapshot_desktop.h" #include diff --git a/database/src/desktop/database_desktop.cc b/database/src/desktop/database_desktop.cc index 023bd8d18b..10b0dceacc 100644 --- a/database/src/desktop/database_desktop.cc +++ b/database/src/desktop/database_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/database_desktop.h" #include diff --git a/database/src/desktop/database_reference_desktop.cc b/database/src/desktop/database_reference_desktop.cc index e413af6cc2..5f494ace36 100644 --- a/database/src/desktop/database_reference_desktop.cc +++ b/database/src/desktop/database_reference_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/database_reference_desktop.h" #include diff --git a/database/src/desktop/disconnection_desktop.cc b/database/src/desktop/disconnection_desktop.cc index 0ea69cc586..11fe78981a 100644 --- a/database/src/desktop/disconnection_desktop.cc +++ b/database/src/desktop/disconnection_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/disconnection_desktop.h" #include "app/src/future_manager.h" diff --git a/database/src/desktop/mutable_data_desktop.cc b/database/src/desktop/mutable_data_desktop.cc index c03e5550f0..81daa1162e 100644 --- a/database/src/desktop/mutable_data_desktop.cc +++ b/database/src/desktop/mutable_data_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/mutable_data_desktop.h" #include diff --git a/database/src/desktop/persistence/flatbuffer_conversions.cc b/database/src/desktop/persistence/flatbuffer_conversions.cc index d10938a3fe..00833d2f85 100644 --- a/database/src/desktop/persistence/flatbuffer_conversions.cc +++ b/database/src/desktop/persistence/flatbuffer_conversions.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/flatbuffer_conversions.h" #include "app/src/include/firebase/variant.h" diff --git a/database/src/desktop/persistence/in_memory_persistence_storage_engine.cc b/database/src/desktop/persistence/in_memory_persistence_storage_engine.cc index 964969ed35..275ebac0cc 100644 --- a/database/src/desktop/persistence/in_memory_persistence_storage_engine.cc +++ b/database/src/desktop/persistence/in_memory_persistence_storage_engine.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/in_memory_persistence_storage_engine.h" #include diff --git a/database/src/desktop/persistence/level_db_persistence_storage_engine.cc b/database/src/desktop/persistence/level_db_persistence_storage_engine.cc index 87932ae86c..d831647930 100644 --- a/database/src/desktop/persistence/level_db_persistence_storage_engine.cc +++ b/database/src/desktop/persistence/level_db_persistence_storage_engine.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/level_db_persistence_storage_engine.h" #include diff --git a/database/src/desktop/persistence/noop_persistence_manager.cc b/database/src/desktop/persistence/noop_persistence_manager.cc index 6f291a3e44..d6b8e9f0de 100644 --- a/database/src/desktop/persistence/noop_persistence_manager.cc +++ b/database/src/desktop/persistence/noop_persistence_manager.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/noop_persistence_manager.h" #include "app/src/assert.h" diff --git a/database/src/desktop/persistence/persistence_manager.cc b/database/src/desktop/persistence/persistence_manager.cc index 808b787098..08e0ba15d5 100644 --- a/database/src/desktop/persistence/persistence_manager.cc +++ b/database/src/desktop/persistence/persistence_manager.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/persistence_manager.h" #include diff --git a/database/src/desktop/persistence/prune_forest.cc b/database/src/desktop/persistence/prune_forest.cc index 217045be45..8cea189e0a 100644 --- a/database/src/desktop/persistence/prune_forest.cc +++ b/database/src/desktop/persistence/prune_forest.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/prune_forest.h" #include diff --git a/database/src/desktop/push_child_name_generator.cc b/database/src/desktop/push_child_name_generator.cc index dfad6024a8..1efe9ad243 100644 --- a/database/src/desktop/push_child_name_generator.cc +++ b/database/src/desktop/push_child_name_generator.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/push_child_name_generator.h" #include diff --git a/database/src/desktop/query_desktop.cc b/database/src/desktop/query_desktop.cc index 5fba0e1035..e1bda0d80a 100644 --- a/database/src/desktop/query_desktop.cc +++ b/database/src/desktop/query_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/query_desktop.h" #include diff --git a/database/src/desktop/query_params_comparator.cc b/database/src/desktop/query_params_comparator.cc index f6f3b59f5b..35a05107bf 100644 --- a/database/src/desktop/query_params_comparator.cc +++ b/database/src/desktop/query_params_comparator.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/query_params_comparator.h" #include diff --git a/database/src/desktop/transaction_data.cc b/database/src/desktop/transaction_data.cc index 1f077d0636..3ee626ad9c 100644 --- a/database/src/desktop/transaction_data.cc +++ b/database/src/desktop/transaction_data.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/transaction_data.h" #include "database/src/desktop/database_desktop.h" diff --git a/database/src/desktop/util_desktop.cc b/database/src/desktop/util_desktop.cc index a6896a8146..fb347db8fe 100644 --- a/database/src/desktop/util_desktop.cc +++ b/database/src/desktop/util_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/util_desktop.h" #include diff --git a/database/src/desktop/view/change.cc b/database/src/desktop/view/change.cc index ce1faef84e..cf7dfb09cb 100644 --- a/database/src/desktop/view/change.cc +++ b/database/src/desktop/view/change.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/change.h" #include diff --git a/database/src/desktop/view/child_change_accumulator.cc b/database/src/desktop/view/child_change_accumulator.cc index 1fa7e742f6..06a1eea042 100644 --- a/database/src/desktop/view/child_change_accumulator.cc +++ b/database/src/desktop/view/child_change_accumulator.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/child_change_accumulator.h" #include diff --git a/database/src/desktop/view/indexed_filter.cc b/database/src/desktop/view/indexed_filter.cc index 331b117bea..f5cf5e73b6 100644 --- a/database/src/desktop/view/indexed_filter.cc +++ b/database/src/desktop/view/indexed_filter.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/indexed_filter.h" #include "app/src/assert.h" diff --git a/database/src/desktop/view/limited_filter.cc b/database/src/desktop/view/limited_filter.cc index 69408fd8e2..2f4fc274fa 100644 --- a/database/src/desktop/view/limited_filter.cc +++ b/database/src/desktop/view/limited_filter.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/limited_filter.h" #include diff --git a/database/src/desktop/view/ranged_filter.cc b/database/src/desktop/view/ranged_filter.cc index 4bceeb706c..73863c4037 100644 --- a/database/src/desktop/view/ranged_filter.cc +++ b/database/src/desktop/view/ranged_filter.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/ranged_filter.h" #include diff --git a/database/src/desktop/view/view.cc b/database/src/desktop/view/view.cc index 8d02bb90e6..a0d416c1aa 100644 --- a/database/src/desktop/view/view.cc +++ b/database/src/desktop/view/view.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/view.h" #include diff --git a/database/src/desktop/view/view_processor.cc b/database/src/desktop/view/view_processor.cc index 4d1868b11b..1b60676561 100644 --- a/database/src/desktop/view/view_processor.cc +++ b/database/src/desktop/view/view_processor.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/view_processor.h" #include diff --git a/database/src/ios/completion_block_ios.mm b/database/src/ios/completion_block_ios.mm index 58b5397fda..0f2d8be73e 100644 --- a/database/src/ios/completion_block_ios.mm +++ b/database/src/ios/completion_block_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/ios/completion_block_ios.h" #include "database/src/include/firebase/database/common.h" #include "database/src/ios/util_ios.h" diff --git a/database/src/ios/data_snapshot_ios.mm b/database/src/ios/data_snapshot_ios.mm index ad7e0b0f16..8001eeb2be 100644 --- a/database/src/ios/data_snapshot_ios.mm +++ b/database/src/ios/data_snapshot_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/ios/data_snapshot_ios.h" #include diff --git a/database/src/ios/database_ios.mm b/database/src/ios/database_ios.mm index 50f0879bb5..d7f0bddad3 100644 --- a/database/src/ios/database_ios.mm +++ b/database/src/ios/database_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/ios/database_ios.h" #include "app/src/app_common.h" diff --git a/database/src/ios/database_reference_ios.mm b/database/src/ios/database_reference_ios.mm index 6582b5dd84..98c5171fc4 100644 --- a/database/src/ios/database_reference_ios.mm +++ b/database/src/ios/database_reference_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/ios/database_reference_ios.h" #include "FIRDatabase.h" diff --git a/database/src/ios/disconnection_ios.mm b/database/src/ios/disconnection_ios.mm index b72fa8cdaf..fdbfc1e518 100644 --- a/database/src/ios/disconnection_ios.mm +++ b/database/src/ios/disconnection_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/ios/disconnection_ios.h" #include "app/src/include/firebase/future.h" diff --git a/database/src/ios/mutable_data_ios.mm b/database/src/ios/mutable_data_ios.mm index 357d7c2890..0d1098f29c 100644 --- a/database/src/ios/mutable_data_ios.mm +++ b/database/src/ios/mutable_data_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/ios/mutable_data_ios.h" #include "FIRDatabase.h" diff --git a/database/src/ios/query_ios.mm b/database/src/ios/query_ios.mm index a1ba81abeb..649dbfba3e 100644 --- a/database/src/ios/query_ios.mm +++ b/database/src/ios/query_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/ios/query_ios.h" #include "database/src/common/query.h" diff --git a/database/src/ios/util_ios.mm b/database/src/ios/util_ios.mm index 6039be4056..64999fa3dd 100644 --- a/database/src/ios/util_ios.mm +++ b/database/src/ios/util_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/ios/util_ios.h" #include "app/src/assert.h" #include "app/src/include/firebase/variant.h" diff --git a/database/src/ios/util_ios_test.mm b/database/src/ios/util_ios_test.mm index ef0286f240..b6694338df 100644 --- a/database/src/ios/util_ios_test.mm +++ b/database/src/ios/util_ios_test.mm @@ -16,6 +16,9 @@ #import +#include +#include +#include #include "app/src/util_ios.h" using ::firebase::Variant; diff --git a/database/tests/common/database_reference_test.cc b/database/tests/common/database_reference_test.cc index 61ed536cf2..feb3bea08d 100644 --- a/database/tests/common/database_reference_test.cc +++ b/database/tests/common/database_reference_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/include/firebase/database/database_reference.h" #include diff --git a/database/tests/desktop/connection/connection_test.cc b/database/tests/desktop/connection/connection_test.cc index db95cfb822..06d2b85ad5 100644 --- a/database/tests/desktop/connection/connection_test.cc +++ b/database/tests/desktop/connection/connection_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/connection/connection.h" #include diff --git a/database/tests/desktop/connection/web_socket_client_impl_test.cc b/database/tests/desktop/connection/web_socket_client_impl_test.cc index c0f219b410..77e30a7bcd 100644 --- a/database/tests/desktop/connection/web_socket_client_impl_test.cc +++ b/database/tests/desktop/connection/web_socket_client_impl_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/connection/web_socket_client_impl.h" #include "app/src/semaphore.h" diff --git a/database/tests/desktop/core/cache_policy_test.cc b/database/tests/desktop/core/cache_policy_test.cc index 37d53e8f5f..655dacc29e 100644 --- a/database/tests/desktop/core/cache_policy_test.cc +++ b/database/tests/desktop/core/cache_policy_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/cache_policy.h" #include "gmock/gmock.h" diff --git a/database/tests/desktop/core/compound_write_test.cc b/database/tests/desktop/core/compound_write_test.cc index b3f35f8109..65564f48c5 100644 --- a/database/tests/desktop/core/compound_write_test.cc +++ b/database/tests/desktop/core/compound_write_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/compound_write.h" #include diff --git a/database/tests/desktop/core/event_registration_test.cc b/database/tests/desktop/core/event_registration_test.cc index 94d0084cd4..bc25aad692 100644 --- a/database/tests/desktop/core/event_registration_test.cc +++ b/database/tests/desktop/core/event_registration_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/event_registration.h" #include "database/src/desktop/core/child_event_registration.h" diff --git a/database/tests/desktop/core/indexed_variant_test.cc b/database/tests/desktop/core/indexed_variant_test.cc index 90f8d5b51a..402c144c8b 100644 --- a/database/tests/desktop/core/indexed_variant_test.cc +++ b/database/tests/desktop/core/indexed_variant_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/indexed_variant.h" #include diff --git a/database/tests/desktop/core/operation_test.cc b/database/tests/desktop/core/operation_test.cc index a1eb76eee6..ea202edff4 100644 --- a/database/tests/desktop/core/operation_test.cc +++ b/database/tests/desktop/core/operation_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/operation.h" #include "gmock/gmock.h" diff --git a/database/tests/desktop/core/server_values_test.cc b/database/tests/desktop/core/server_values_test.cc index c772869ac5..22e475cd88 100644 --- a/database/tests/desktop/core/server_values_test.cc +++ b/database/tests/desktop/core/server_values_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/server_values.h" #include diff --git a/database/tests/desktop/core/sparse_snapshot_tree_test.cc b/database/tests/desktop/core/sparse_snapshot_tree_test.cc index c412e1c4a3..3919e3a2f0 100644 --- a/database/tests/desktop/core/sparse_snapshot_tree_test.cc +++ b/database/tests/desktop/core/sparse_snapshot_tree_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/sparse_snapshot_tree.h" #include "app/src/variant_util.h" diff --git a/database/tests/desktop/core/sync_point_spec_test.cc b/database/tests/desktop/core/sync_point_spec_test.cc index a54854cd5b..21d3bdc070 100644 --- a/database/tests/desktop/core/sync_point_spec_test.cc +++ b/database/tests/desktop/core/sync_point_spec_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include #include diff --git a/database/tests/desktop/core/sync_point_test.cc b/database/tests/desktop/core/sync_point_test.cc index c13b112688..8715db3df9 100644 --- a/database/tests/desktop/core/sync_point_test.cc +++ b/database/tests/desktop/core/sync_point_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/sync_point.h" #include "app/src/include/firebase/variant.h" diff --git a/database/tests/desktop/core/sync_tree_test.cc b/database/tests/desktop/core/sync_tree_test.cc index 392aa32a79..b1f8359cd3 100644 --- a/database/tests/desktop/core/sync_tree_test.cc +++ b/database/tests/desktop/core/sync_tree_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/sync_tree.h" #include "app/src/path.h" diff --git a/database/tests/desktop/core/tracked_query_manager_test.cc b/database/tests/desktop/core/tracked_query_manager_test.cc index aa4b38facc..78bccf0497 100644 --- a/database/tests/desktop/core/tracked_query_manager_test.cc +++ b/database/tests/desktop/core/tracked_query_manager_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/tracked_query_manager.h" #include "app/src/logger.h" diff --git a/database/tests/desktop/core/tree_test.cc b/database/tests/desktop/core/tree_test.cc index 59996290f8..80b26ac0b8 100644 --- a/database/tests/desktop/core/tree_test.cc +++ b/database/tests/desktop/core/tree_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/tree.h" #include diff --git a/database/tests/desktop/core/write_tree_test.cc b/database/tests/desktop/core/write_tree_test.cc index 54f39c3623..a87abaf7e0 100644 --- a/database/tests/desktop/core/write_tree_test.cc +++ b/database/tests/desktop/core/write_tree_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/core/write_tree.h" #include "app/src/variant_util.h" diff --git a/database/tests/desktop/mutable_data_desktop_test.cc b/database/tests/desktop/mutable_data_desktop_test.cc index b9e8cd36a2..191168002b 100644 --- a/database/tests/desktop/mutable_data_desktop_test.cc +++ b/database/tests/desktop/mutable_data_desktop_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/mutable_data_desktop.h" #include "app/src/variant_util.h" diff --git a/database/tests/desktop/persistence/flatbuffer_conversions_test.cc b/database/tests/desktop/persistence/flatbuffer_conversions_test.cc index e698d55536..e864a6cb3a 100644 --- a/database/tests/desktop/persistence/flatbuffer_conversions_test.cc +++ b/database/tests/desktop/persistence/flatbuffer_conversions_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/flatbuffer_conversions.h" #include diff --git a/database/tests/desktop/persistence/in_memory_persistence_storage_engine_test.cc b/database/tests/desktop/persistence/in_memory_persistence_storage_engine_test.cc index 9175b802b6..812425cd0f 100644 --- a/database/tests/desktop/persistence/in_memory_persistence_storage_engine_test.cc +++ b/database/tests/desktop/persistence/in_memory_persistence_storage_engine_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/in_memory_persistence_storage_engine.h" #include "app/src/logger.h" diff --git a/database/tests/desktop/persistence/level_db_persistence_storage_engine_test.cc b/database/tests/desktop/persistence/level_db_persistence_storage_engine_test.cc index d8a6ca66e8..18269e15a0 100644 --- a/database/tests/desktop/persistence/level_db_persistence_storage_engine_test.cc +++ b/database/tests/desktop/persistence/level_db_persistence_storage_engine_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/level_db_persistence_storage_engine.h" #include diff --git a/database/tests/desktop/persistence/noop_persistence_manager_test.cc b/database/tests/desktop/persistence/noop_persistence_manager_test.cc index d623151692..d94975dc0d 100644 --- a/database/tests/desktop/persistence/noop_persistence_manager_test.cc +++ b/database/tests/desktop/persistence/noop_persistence_manager_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/noop_persistence_manager.h" #include diff --git a/database/tests/desktop/persistence/persistence_manager_test.cc b/database/tests/desktop/persistence/persistence_manager_test.cc index 74d9a85697..44f3850106 100644 --- a/database/tests/desktop/persistence/persistence_manager_test.cc +++ b/database/tests/desktop/persistence/persistence_manager_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/persistence_manager.h" #include "database/tests/desktop/test/mock_cache_policy.h" diff --git a/database/tests/desktop/persistence/prune_forest_test.cc b/database/tests/desktop/persistence/prune_forest_test.cc index b8b8854404..7c1d430b20 100644 --- a/database/tests/desktop/persistence/prune_forest_test.cc +++ b/database/tests/desktop/persistence/prune_forest_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/persistence/prune_forest.h" #include "gmock/gmock.h" diff --git a/database/tests/desktop/push_child_name_generator_test.cc b/database/tests/desktop/push_child_name_generator_test.cc index 4157b19090..5d9f3e7674 100644 --- a/database/tests/desktop/push_child_name_generator_test.cc +++ b/database/tests/desktop/push_child_name_generator_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/push_child_name_generator.h" #include diff --git a/database/tests/desktop/test/matchers_test.cc b/database/tests/desktop/test/matchers_test.cc index 089a1f86e0..5188052f6b 100644 --- a/database/tests/desktop/test/matchers_test.cc +++ b/database/tests/desktop/test/matchers_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/tests/desktop/test/matchers.h" #include diff --git a/database/tests/desktop/util_desktop_test.cc b/database/tests/desktop/util_desktop_test.cc index 583c018a40..f20cbf45e2 100644 --- a/database/tests/desktop/util_desktop_test.cc +++ b/database/tests/desktop/util_desktop_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/util_desktop.h" #include diff --git a/database/tests/desktop/view/change_test.cc b/database/tests/desktop/view/change_test.cc index d66ad8a888..fd177053c4 100644 --- a/database/tests/desktop/view/change_test.cc +++ b/database/tests/desktop/view/change_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/change.h" #include "app/src/include/firebase/variant.h" diff --git a/database/tests/desktop/view/child_change_accumulator_test.cc b/database/tests/desktop/view/child_change_accumulator_test.cc index 69be34d3c3..db25222aa4 100644 --- a/database/tests/desktop/view/child_change_accumulator_test.cc +++ b/database/tests/desktop/view/child_change_accumulator_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/child_change_accumulator.h" #include "database/src/desktop/view/change.h" diff --git a/database/tests/desktop/view/event_generator_test.cc b/database/tests/desktop/view/event_generator_test.cc index 2ac1ba2b00..df3937e029 100644 --- a/database/tests/desktop/view/event_generator_test.cc +++ b/database/tests/desktop/view/event_generator_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/event_generator.h" #include diff --git a/database/tests/desktop/view/indexed_filter_test.cc b/database/tests/desktop/view/indexed_filter_test.cc index b274eecc23..edcf7da2cb 100644 --- a/database/tests/desktop/view/indexed_filter_test.cc +++ b/database/tests/desktop/view/indexed_filter_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/indexed_filter.h" #include "app/src/variant_util.h" diff --git a/database/tests/desktop/view/limited_filter_test.cc b/database/tests/desktop/view/limited_filter_test.cc index bb11a8a476..71e4fba3ee 100644 --- a/database/tests/desktop/view/limited_filter_test.cc +++ b/database/tests/desktop/view/limited_filter_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/limited_filter.h" #include "gmock/gmock.h" diff --git a/database/tests/desktop/view/ranged_filter_test.cc b/database/tests/desktop/view/ranged_filter_test.cc index c501722937..e695aab5b6 100644 --- a/database/tests/desktop/view/ranged_filter_test.cc +++ b/database/tests/desktop/view/ranged_filter_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/ranged_filter.h" #include "app/src/variant_util.h" diff --git a/database/tests/desktop/view/view_cache_test.cc b/database/tests/desktop/view/view_cache_test.cc index e327a78dde..885f53362c 100644 --- a/database/tests/desktop/view/view_cache_test.cc +++ b/database/tests/desktop/view/view_cache_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/view_cache.h" #include "gmock/gmock.h" diff --git a/database/tests/desktop/view/view_processor_test.cc b/database/tests/desktop/view/view_processor_test.cc index b07721a57d..7d8a51c0f4 100644 --- a/database/tests/desktop/view/view_processor_test.cc +++ b/database/tests/desktop/view/view_processor_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/view_processor.h" #include "app/src/variant_util.h" diff --git a/database/tests/desktop/view/view_test.cc b/database/tests/desktop/view/view_test.cc index be92d0064c..b59c1429ca 100644 --- a/database/tests/desktop/view/view_test.cc +++ b/database/tests/desktop/view/view_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "database/src/desktop/view/view.h" #include diff --git a/docs/GETTING_STARTED_BUILD.md b/docs/GETTING_STARTED_BUILD.md new file mode 100644 index 0000000000..14f7bb579c --- /dev/null +++ b/docs/GETTING_STARTED_BUILD.md @@ -0,0 +1,27 @@ +# Getting Started: 1-Step Build System + +We have provided incredibly simple, automated tools that let you compile specific modules, full individual SDK platforms, or the entire universal multi-architecture ecosystem instantly! + +--- + +## 1. Master "Build Everything" Command +To automatically run a complete release-style compilation across all major supported platforms (iOS Device, iOS Simulator, macOS, Android, and Linux) simultaneously, open your terminal and run: + +```bash +./scripts/gha/build_everything.sh +``` + +--- + +## 2. Building Specific Targets +If you only want to build for a single platform: + +```bash +./scripts/gha/build.py --preset --target ... +``` + +### Examples: +```bash +# Build Auth and Firestore for Android simultaneously: +./scripts/gha/build.py --preset android-arm64 --target auth firestore +``` diff --git a/firestore/CMakeLists.txt b/firestore/CMakeLists.txt index ae22ddd8ea..95720415c0 100644 --- a/firestore/CMakeLists.txt +++ b/firestore/CMakeLists.txt @@ -440,11 +440,10 @@ elseif(IOS) FirebaseCoreExtension/FirebaseCore/Extension ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_firestore PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_firestore PROPERTIES + OUTPUT_NAME "FirebaseFirestore" + FRAMEWORK TRUE + ) endif() cpp_pack_library(firebase_firestore "") diff --git a/firestore/integration_test_internal/src/aggregate_count_test.cc b/firestore/integration_test_internal/src/aggregate_count_test.cc index 7f3f462a1f..d6bfc96290 100644 --- a/firestore/integration_test_internal/src/aggregate_count_test.cc +++ b/firestore/integration_test_internal/src/aggregate_count_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/aggregate_query_snapshot_test.cc b/firestore/integration_test_internal/src/aggregate_query_snapshot_test.cc index 2e73d9cc49..8cfa0b1f12 100644 --- a/firestore/integration_test_internal/src/aggregate_query_snapshot_test.cc +++ b/firestore/integration_test_internal/src/aggregate_query_snapshot_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore_integration_test.h" #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/aggregate_query_test.cc b/firestore/integration_test_internal/src/aggregate_query_test.cc index 4810e5e96f..82e38da8d5 100644 --- a/firestore/integration_test_internal/src/aggregate_query_test.cc +++ b/firestore/integration_test_internal/src/aggregate_query_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firebase/firestore.h" #include "firestore_integration_test.h" diff --git a/firestore/integration_test_internal/src/android/arena_ref_android_test.cc b/firestore/integration_test_internal/src/android/arena_ref_android_test.cc index cffbc0b1af..3f3db3e97b 100644 --- a/firestore/integration_test_internal/src/android/arena_ref_android_test.cc +++ b/firestore/integration_test_internal/src/android/arena_ref_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/arena_ref.h" #include diff --git a/firestore/integration_test_internal/src/android/cancellation_token_source.cc b/firestore/integration_test_internal/src/android/cancellation_token_source.cc index 45bff66aae..1bcd84fa72 100644 --- a/firestore/integration_test_internal/src/android/cancellation_token_source.cc +++ b/firestore/integration_test_internal/src/android/cancellation_token_source.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "android/cancellation_token_source.h" #include "firestore/src/jni/env.h" diff --git a/firestore/integration_test_internal/src/android/field_path_portable_test.cc b/firestore/integration_test_internal/src/android/field_path_portable_test.cc index 687fba469a..5218a82634 100644 --- a/firestore/integration_test_internal/src/android/field_path_portable_test.cc +++ b/firestore/integration_test_internal/src/android/field_path_portable_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/field_path_portable.h" #include "firestore/src/common/macros.h" diff --git a/firestore/integration_test_internal/src/android/firestore_integration_test_android.cc b/firestore/integration_test_internal/src/android/firestore_integration_test_android.cc index 6376c78b69..80f237638c 100644 --- a/firestore/integration_test_internal/src/android/firestore_integration_test_android.cc +++ b/firestore/integration_test_internal/src/android/firestore_integration_test_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "android/firestore_integration_test_android.h" #include "android/cancellation_token_source.h" diff --git a/firestore/integration_test_internal/src/android/firestore_integration_test_android_test.cc b/firestore/integration_test_internal/src/android/firestore_integration_test_android_test.cc index 5d52b277b6..d60ab49b3f 100644 --- a/firestore/integration_test_internal/src/android/firestore_integration_test_android_test.cc +++ b/firestore/integration_test_internal/src/android/firestore_integration_test_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "android/firestore_integration_test_android.h" #include diff --git a/firestore/integration_test_internal/src/android/geo_point_android_test.cc b/firestore/integration_test_internal/src/android/geo_point_android_test.cc index ea1d9b274a..1bcc4900a1 100644 --- a/firestore/integration_test_internal/src/android/geo_point_android_test.cc +++ b/firestore/integration_test_internal/src/android/geo_point_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/geo_point_android.h" #include "android/firestore_integration_test_android.h" diff --git a/firestore/integration_test_internal/src/android/jni_runnable_android_test.cc b/firestore/integration_test_internal/src/android/jni_runnable_android_test.cc index 6b2ed0e63d..db06865a4e 100644 --- a/firestore/integration_test_internal/src/android/jni_runnable_android_test.cc +++ b/firestore/integration_test_internal/src/android/jni_runnable_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/jni_runnable_android.h" #include diff --git a/firestore/integration_test_internal/src/android/promise_android_test.cc b/firestore/integration_test_internal/src/android/promise_android_test.cc index 88457a7dd2..2692e67274 100644 --- a/firestore/integration_test_internal/src/android/promise_android_test.cc +++ b/firestore/integration_test_internal/src/android/promise_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/promise_android.h" #include diff --git a/firestore/integration_test_internal/src/android/promise_factory_android_test.cc b/firestore/integration_test_internal/src/android/promise_factory_android_test.cc index 06616838f4..9ce61b464f 100644 --- a/firestore/integration_test_internal/src/android/promise_factory_android_test.cc +++ b/firestore/integration_test_internal/src/android/promise_factory_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/promise_factory_android.h" #include diff --git a/firestore/integration_test_internal/src/android/settings_android_test.cc b/firestore/integration_test_internal/src/android/settings_android_test.cc index f076edcaac..1002cfeed0 100644 --- a/firestore/integration_test_internal/src/android/settings_android_test.cc +++ b/firestore/integration_test_internal/src/android/settings_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/settings_android.h" #include "android/firestore_integration_test_android.h" diff --git a/firestore/integration_test_internal/src/android/snapshot_metadata_android_test.cc b/firestore/integration_test_internal/src/android/snapshot_metadata_android_test.cc index 4fabe4a2a0..10ad32abdf 100644 --- a/firestore/integration_test_internal/src/android/snapshot_metadata_android_test.cc +++ b/firestore/integration_test_internal/src/android/snapshot_metadata_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/snapshot_metadata_android.h" #include "android/firestore_integration_test_android.h" diff --git a/firestore/integration_test_internal/src/android/task_completion_source.cc b/firestore/integration_test_internal/src/android/task_completion_source.cc index 565dd28241..92e66c6e79 100644 --- a/firestore/integration_test_internal/src/android/task_completion_source.cc +++ b/firestore/integration_test_internal/src/android/task_completion_source.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "android/task_completion_source.h" #include "firestore/src/jni/env.h" diff --git a/firestore/integration_test_internal/src/android/timestamp_android_test.cc b/firestore/integration_test_internal/src/android/timestamp_android_test.cc index fb461f6a2e..47eaadfe56 100644 --- a/firestore/integration_test_internal/src/android/timestamp_android_test.cc +++ b/firestore/integration_test_internal/src/android/timestamp_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/timestamp_android.h" #include "android/firestore_integration_test_android.h" diff --git a/firestore/integration_test_internal/src/android/transaction_options_android_test.cc b/firestore/integration_test_internal/src/android/transaction_options_android_test.cc index 893c24bdcb..fde5e0671b 100644 --- a/firestore/integration_test_internal/src/android/transaction_options_android_test.cc +++ b/firestore/integration_test_internal/src/android/transaction_options_android_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/transaction_options_android.h" #include "firestore/src/android/transaction_options_builder_android.h" diff --git a/firestore/integration_test_internal/src/android/util_autoid.cc b/firestore/integration_test_internal/src/android/util_autoid.cc index afb215eab0..785fd36041 100644 --- a/firestore/integration_test_internal/src/android/util_autoid.cc +++ b/firestore/integration_test_internal/src/android/util_autoid.cc @@ -16,6 +16,9 @@ // Android-specific implementation of AutoId, since core library is // not used on Android. +#include +#include +#include #include "android/util_autoid.h" #include diff --git a/firestore/integration_test_internal/src/array_transform_test.cc b/firestore/integration_test_internal/src/array_transform_test.cc index 9d270122bb..0d99c833b3 100644 --- a/firestore/integration_test_internal/src/array_transform_test.cc +++ b/firestore/integration_test_internal/src/array_transform_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include diff --git a/firestore/integration_test_internal/src/bundle_test.cc b/firestore/integration_test_internal/src/bundle_test.cc index 3ac9760a9f..2e28881bcd 100644 --- a/firestore/integration_test_internal/src/bundle_test.cc +++ b/firestore/integration_test_internal/src/bundle_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/cleanup_test.cc b/firestore/integration_test_internal/src/cleanup_test.cc index 5ef39541c2..3d4a065f3f 100644 --- a/firestore/integration_test_internal/src/cleanup_test.cc +++ b/firestore/integration_test_internal/src/cleanup_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/include/firebase/internal/common.h" #include "firebase/firestore.h" #include "firestore/src/common/futures.h" diff --git a/firestore/integration_test_internal/src/collection_reference_test.cc b/firestore/integration_test_internal/src/collection_reference_test.cc index d8b5fca0e9..ad4dc4e91c 100644 --- a/firestore/integration_test_internal/src/collection_reference_test.cc +++ b/firestore/integration_test_internal/src/collection_reference_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/cursor_test.cc b/firestore/integration_test_internal/src/cursor_test.cc index d837ebf8d7..0e2eaf3d58 100644 --- a/firestore/integration_test_internal/src/cursor_test.cc +++ b/firestore/integration_test_internal/src/cursor_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include diff --git a/firestore/integration_test_internal/src/document_change_test.cc b/firestore/integration_test_internal/src/document_change_test.cc index 6f4e279acb..e049171d9c 100644 --- a/firestore/integration_test_internal/src/document_change_test.cc +++ b/firestore/integration_test_internal/src/document_change_test.cc @@ -15,6 +15,9 @@ */ #if defined(__ANDROID__) +#include +#include +#include #include "firestore/src/android/document_change_android.h" #endif // defined(__ANDROID__) diff --git a/firestore/integration_test_internal/src/document_reference_test.cc b/firestore/integration_test_internal/src/document_reference_test.cc index 6ecb257a05..b8943ddb22 100644 --- a/firestore/integration_test_internal/src/document_reference_test.cc +++ b/firestore/integration_test_internal/src/document_reference_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/document_snapshot_test.cc b/firestore/integration_test_internal/src/document_snapshot_test.cc index 15c66dff93..1e49604cc7 100644 --- a/firestore/integration_test_internal/src/document_snapshot_test.cc +++ b/firestore/integration_test_internal/src/document_snapshot_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/field_value_test.cc b/firestore/integration_test_internal/src/field_value_test.cc index e8ca703ef3..696fd917ed 100644 --- a/firestore/integration_test_internal/src/field_value_test.cc +++ b/firestore/integration_test_internal/src/field_value_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/fields_test.cc b/firestore/integration_test_internal/src/fields_test.cc index 40818aa167..8a976fd2f9 100644 --- a/firestore/integration_test_internal/src/fields_test.cc +++ b/firestore/integration_test_internal/src/fields_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/filter_test.cc b/firestore/integration_test_internal/src/filter_test.cc index e3806943d0..407fb1610b 100644 --- a/firestore/integration_test_internal/src/filter_test.cc +++ b/firestore/integration_test_internal/src/filter_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firebase/firestore.h" #include "firestore_integration_test.h" diff --git a/firestore/integration_test_internal/src/firestore_integration_test.cc b/firestore/integration_test_internal/src/firestore_integration_test.cc index e95db25518..e25abc43e9 100644 --- a/firestore/integration_test_internal/src/firestore_integration_test.cc +++ b/firestore/integration_test_internal/src/firestore_integration_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore_integration_test.h" #include diff --git a/firestore/integration_test_internal/src/firestore_test.cc b/firestore/integration_test_internal/src/firestore_test.cc index 70d5974ef8..1f949c2b8b 100644 --- a/firestore/integration_test_internal/src/firestore_test.cc +++ b/firestore/integration_test_internal/src/firestore_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firebase/firestore.h" #include diff --git a/firestore/integration_test_internal/src/includes_test.cc b/firestore/integration_test_internal/src/includes_test.cc index dbde283b81..3baf2c7ea6 100644 --- a/firestore/integration_test_internal/src/includes_test.cc +++ b/firestore/integration_test_internal/src/includes_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "app_framework.h" diff --git a/firestore/integration_test_internal/src/jni/declaration_test.cc b/firestore/integration_test_internal/src/jni/declaration_test.cc index c2366bd045..915b8c98da 100644 --- a/firestore/integration_test_internal/src/jni/declaration_test.cc +++ b/firestore/integration_test_internal/src/jni/declaration_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/declaration.h" #include diff --git a/firestore/integration_test_internal/src/jni/env_test.cc b/firestore/integration_test_internal/src/jni/env_test.cc index 2684e7c6b6..0f909de360 100644 --- a/firestore/integration_test_internal/src/jni/env_test.cc +++ b/firestore/integration_test_internal/src/jni/env_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include diff --git a/firestore/integration_test_internal/src/jni/object_test.cc b/firestore/integration_test_internal/src/jni/object_test.cc index a3b3ddee6b..8baa986a3e 100644 --- a/firestore/integration_test_internal/src/jni/object_test.cc +++ b/firestore/integration_test_internal/src/jni/object_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/object.h" #include diff --git a/firestore/integration_test_internal/src/jni/ownership_test.cc b/firestore/integration_test_internal/src/jni/ownership_test.cc index a7ca7921e0..cef10b9300 100644 --- a/firestore/integration_test_internal/src/jni/ownership_test.cc +++ b/firestore/integration_test_internal/src/jni/ownership_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/ownership.h" #include diff --git a/firestore/integration_test_internal/src/jni/task_test.cc b/firestore/integration_test_internal/src/jni/task_test.cc index fea8e53a32..ec7c54eb5c 100644 --- a/firestore/integration_test_internal/src/jni/task_test.cc +++ b/firestore/integration_test_internal/src/jni/task_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/task.h" #include "android/cancellation_token_source.h" diff --git a/firestore/integration_test_internal/src/jni/traits_test.cc b/firestore/integration_test_internal/src/jni/traits_test.cc index 6f110effac..6072344ee2 100644 --- a/firestore/integration_test_internal/src/jni/traits_test.cc +++ b/firestore/integration_test_internal/src/jni/traits_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/traits.h" #include diff --git a/firestore/integration_test_internal/src/leveldb_snappy_test.cc b/firestore/integration_test_internal/src/leveldb_snappy_test.cc index f17f04ba14..5c2843d5c2 100644 --- a/firestore/integration_test_internal/src/leveldb_snappy_test.cc +++ b/firestore/integration_test_internal/src/leveldb_snappy_test.cc @@ -20,6 +20,9 @@ #error "This test should not be included in Android." #endif +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/listener_registration_test.cc b/firestore/integration_test_internal/src/listener_registration_test.cc index 570895a0fc..696ea4f36e 100644 --- a/firestore/integration_test_internal/src/listener_registration_test.cc +++ b/firestore/integration_test_internal/src/listener_registration_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/numeric_transforms_test.cc b/firestore/integration_test_internal/src/numeric_transforms_test.cc index 9e96e106fc..6bfa2e9bdc 100644 --- a/firestore/integration_test_internal/src/numeric_transforms_test.cc +++ b/firestore/integration_test_internal/src/numeric_transforms_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/query_network_test.cc b/firestore/integration_test_internal/src/query_network_test.cc index b0a904cabc..897253f054 100644 --- a/firestore/integration_test_internal/src/query_network_test.cc +++ b/firestore/integration_test_internal/src/query_network_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include diff --git a/firestore/integration_test_internal/src/query_snapshot_test.cc b/firestore/integration_test_internal/src/query_snapshot_test.cc index f1c93126b3..d1bb2557b5 100644 --- a/firestore/integration_test_internal/src/query_snapshot_test.cc +++ b/firestore/integration_test_internal/src/query_snapshot_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/query_test.cc b/firestore/integration_test_internal/src/query_test.cc index f1702f6702..f24e850a7c 100644 --- a/firestore/integration_test_internal/src/query_test.cc +++ b/firestore/integration_test_internal/src/query_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/sanity_test.cc b/firestore/integration_test_internal/src/sanity_test.cc index 26d2a731a1..1e16be626d 100644 --- a/firestore/integration_test_internal/src/sanity_test.cc +++ b/firestore/integration_test_internal/src/sanity_test.cc @@ -21,6 +21,9 @@ // the most critical mechanism of gtest. We also print information to stdout // for debugging if anything goes wrong. +#include +#include +#include #include #include diff --git a/firestore/integration_test_internal/src/server_timestamp_test.cc b/firestore/integration_test_internal/src/server_timestamp_test.cc index 9a6940785f..94102d4b7e 100644 --- a/firestore/integration_test_internal/src/server_timestamp_test.cc +++ b/firestore/integration_test_internal/src/server_timestamp_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/set_options_test.cc b/firestore/integration_test_internal/src/set_options_test.cc index c9f715fe74..aec2c3e611 100644 --- a/firestore/integration_test_internal/src/set_options_test.cc +++ b/firestore/integration_test_internal/src/set_options_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firebase/firestore.h" #include "gtest/gtest.h" diff --git a/firestore/integration_test_internal/src/settings_test.cc b/firestore/integration_test_internal/src/settings_test.cc index ca62e2a74e..1f4275aded 100644 --- a/firestore/integration_test_internal/src/settings_test.cc +++ b/firestore/integration_test_internal/src/settings_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/smoke_test.cc b/firestore/integration_test_internal/src/smoke_test.cc index 6e2b6dcc77..c0564e5880 100644 --- a/firestore/integration_test_internal/src/smoke_test.cc +++ b/firestore/integration_test_internal/src/smoke_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/integration_test_internal/src/source_test.cc b/firestore/integration_test_internal/src/source_test.cc index 09e4ea4beb..993ef292d2 100644 --- a/firestore/integration_test_internal/src/source_test.cc +++ b/firestore/integration_test_internal/src/source_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/transaction_extra_test.cc b/firestore/integration_test_internal/src/transaction_extra_test.cc index 5260cee499..cd358f0bc1 100644 --- a/firestore/integration_test_internal/src/transaction_extra_test.cc +++ b/firestore/integration_test_internal/src/transaction_extra_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "app/src/time.h" #include "firebase/firestore.h" #include "firebase/firestore/firestore_errors.h" diff --git a/firestore/integration_test_internal/src/transaction_options_test.cc b/firestore/integration_test_internal/src/transaction_options_test.cc index 07aa2a068e..88aef86915 100644 --- a/firestore/integration_test_internal/src/transaction_options_test.cc +++ b/firestore/integration_test_internal/src/transaction_options_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/transaction_test.cc b/firestore/integration_test_internal/src/transaction_test.cc index 67088a208e..297cc16e27 100644 --- a/firestore/integration_test_internal/src/transaction_test.cc +++ b/firestore/integration_test_internal/src/transaction_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/type_test.cc b/firestore/integration_test_internal/src/type_test.cc index 9f4fffd4ff..74da6e185f 100644 --- a/firestore/integration_test_internal/src/type_test.cc +++ b/firestore/integration_test_internal/src/type_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firebase/firestore.h" #include "firestore_integration_test.h" diff --git a/firestore/integration_test_internal/src/util/bundle_builder.cc b/firestore/integration_test_internal/src/util/bundle_builder.cc index a19b5ceb7f..be47e4d16c 100644 --- a/firestore/integration_test_internal/src/util/bundle_builder.cc +++ b/firestore/integration_test_internal/src/util/bundle_builder.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "util/bundle_builder.h" #include diff --git a/firestore/integration_test_internal/src/util/future_test_util.cc b/firestore/integration_test_internal/src/util/future_test_util.cc index ca7d1419b7..cc6bd8e3c5 100644 --- a/firestore/integration_test_internal/src/util/future_test_util.cc +++ b/firestore/integration_test_internal/src/util/future_test_util.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "util/future_test_util.h" #include diff --git a/firestore/integration_test_internal/src/util/integration_test_util.cc b/firestore/integration_test_internal/src/util/integration_test_util.cc index 281593703e..a00fc12db0 100644 --- a/firestore/integration_test_internal/src/util/integration_test_util.cc +++ b/firestore/integration_test_internal/src/util/integration_test_util.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include // NOLINT(build/c++11) #include #include // NOLINT(build/c++11) diff --git a/firestore/integration_test_internal/src/util/locate_emulator.cc b/firestore/integration_test_internal/src/util/locate_emulator.cc index 89f7470e1d..1bede40b1f 100644 --- a/firestore/integration_test_internal/src/util/locate_emulator.cc +++ b/firestore/integration_test_internal/src/util/locate_emulator.cc @@ -13,6 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#include +#include +#include #include "util/locate_emulator.h" #include diff --git a/firestore/integration_test_internal/src/validation_test.cc b/firestore/integration_test_internal/src/validation_test.cc index b8fc53eaca..6d7a6c9026 100644 --- a/firestore/integration_test_internal/src/validation_test.cc +++ b/firestore/integration_test_internal/src/validation_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include #include diff --git a/firestore/integration_test_internal/src/write_batch_test.cc b/firestore/integration_test_internal/src/write_batch_test.cc index c9f7311cff..6f19d59596 100644 --- a/firestore/integration_test_internal/src/write_batch_test.cc +++ b/firestore/integration_test_internal/src/write_batch_test.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firebase/firestore.h" diff --git a/firestore/src/android/aggregate_query_android.cc b/firestore/src/android/aggregate_query_android.cc index d9d6da0144..757619f0d3 100644 --- a/firestore/src/android/aggregate_query_android.cc +++ b/firestore/src/android/aggregate_query_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/aggregate_query_android.h" #include "firestore/src/android/aggregate_source_android.h" diff --git a/firestore/src/android/aggregate_query_snapshot_android.cc b/firestore/src/android/aggregate_query_snapshot_android.cc index 5ff2a2d484..cad6deefb3 100644 --- a/firestore/src/android/aggregate_query_snapshot_android.cc +++ b/firestore/src/android/aggregate_query_snapshot_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/aggregate_query_snapshot_android.h" #include "firestore/src/android/aggregate_query_android.h" diff --git a/firestore/src/android/aggregate_source_android.cc b/firestore/src/android/aggregate_source_android.cc index c65e8d66ad..18d7151564 100644 --- a/firestore/src/android/aggregate_source_android.cc +++ b/firestore/src/android/aggregate_source_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/aggregate_source_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/blob_android.cc b/firestore/src/android/blob_android.cc index 9932b1643c..9c63cca596 100644 --- a/firestore/src/android/blob_android.cc +++ b/firestore/src/android/blob_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/blob_android.h" #include "firestore/src/jni/array.h" diff --git a/firestore/src/android/collection_reference_android.cc b/firestore/src/android/collection_reference_android.cc index 9bbbeceabc..8e66bf8071 100644 --- a/firestore/src/android/collection_reference_android.cc +++ b/firestore/src/android/collection_reference_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/collection_reference_android.h" #include diff --git a/firestore/src/android/direction_android.cc b/firestore/src/android/direction_android.cc index e67429befe..86ed9728dc 100644 --- a/firestore/src/android/direction_android.cc +++ b/firestore/src/android/direction_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/direction_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/document_change_android.cc b/firestore/src/android/document_change_android.cc index 9c176f6e18..56aa816e52 100644 --- a/firestore/src/android/document_change_android.cc +++ b/firestore/src/android/document_change_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/document_change_android.h" #include "firestore/src/android/document_change_type_android.h" diff --git a/firestore/src/android/document_change_type_android.cc b/firestore/src/android/document_change_type_android.cc index 92621b450d..aee0efc79b 100644 --- a/firestore/src/android/document_change_type_android.cc +++ b/firestore/src/android/document_change_type_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/document_change_type_android.h" #include "../include/firebase/firestore/document_change.h" diff --git a/firestore/src/android/document_reference_android.cc b/firestore/src/android/document_reference_android.cc index 1f6f5bdf65..84f85bf5a1 100644 --- a/firestore/src/android/document_reference_android.cc +++ b/firestore/src/android/document_reference_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/document_reference_android.h" #include diff --git a/firestore/src/android/document_snapshot_android.cc b/firestore/src/android/document_snapshot_android.cc index ec269904f8..0bf1093b5c 100644 --- a/firestore/src/android/document_snapshot_android.cc +++ b/firestore/src/android/document_snapshot_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/document_snapshot_android.h" #include diff --git a/firestore/src/android/event_listener_android.cc b/firestore/src/android/event_listener_android.cc index 632eb1f5a8..b5b91ba768 100644 --- a/firestore/src/android/event_listener_android.cc +++ b/firestore/src/android/event_listener_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/event_listener_android.h" #include diff --git a/firestore/src/android/exception_android.cc b/firestore/src/android/exception_android.cc index 29c984de1f..7dc21bf577 100644 --- a/firestore/src/android/exception_android.cc +++ b/firestore/src/android/exception_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/exception_android.h" #include diff --git a/firestore/src/android/field_path_android.cc b/firestore/src/android/field_path_android.cc index 5f409f1172..d2d9776b00 100644 --- a/firestore/src/android/field_path_android.cc +++ b/firestore/src/android/field_path_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/field_path_android.h" #include "firestore/src/jni/array.h" diff --git a/firestore/src/android/field_value_android.cc b/firestore/src/android/field_value_android.cc index a7c2ff5c48..811597a157 100644 --- a/firestore/src/android/field_value_android.cc +++ b/firestore/src/android/field_value_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/field_value_android.h" #include diff --git a/firestore/src/android/filter_android.cc b/firestore/src/android/filter_android.cc index 70f91d5848..44621df959 100644 --- a/firestore/src/android/filter_android.cc +++ b/firestore/src/android/filter_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firestore/src/android/filter_android.h" diff --git a/firestore/src/android/firestore_android.cc b/firestore/src/android/firestore_android.cc index 67937725d5..8df873fb0d 100644 --- a/firestore/src/android/firestore_android.cc +++ b/firestore/src/android/firestore_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/firestore_android.h" #include diff --git a/firestore/src/android/geo_point_android.cc b/firestore/src/android/geo_point_android.cc index 2d687f69ec..701a4b1a1b 100644 --- a/firestore/src/android/geo_point_android.cc +++ b/firestore/src/android/geo_point_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/geo_point_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/geo_point_portable.cc b/firestore/src/android/geo_point_portable.cc index ffc85a426b..bc46dc0875 100644 --- a/firestore/src/android/geo_point_portable.cc +++ b/firestore/src/android/geo_point_portable.cc @@ -22,6 +22,9 @@ // TODO(b/138615769): remove this file. +#include +#include +#include #include #include #include diff --git a/firestore/src/android/jni_runnable_android.cc b/firestore/src/android/jni_runnable_android.cc index 7be29e8914..ad0e58e558 100644 --- a/firestore/src/android/jni_runnable_android.cc +++ b/firestore/src/android/jni_runnable_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/jni_runnable_android.h" #include "app/src/assert.h" diff --git a/firestore/src/android/listener_registration_android.cc b/firestore/src/android/listener_registration_android.cc index e16144850e..404d67c006 100644 --- a/firestore/src/android/listener_registration_android.cc +++ b/firestore/src/android/listener_registration_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/listener_registration_android.h" #include "app/src/assert.h" diff --git a/firestore/src/android/load_bundle_task_android.cc b/firestore/src/android/load_bundle_task_android.cc index 3005d0a0b5..2f6f71c1bc 100644 --- a/firestore/src/android/load_bundle_task_android.cc +++ b/firestore/src/android/load_bundle_task_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/load_bundle_task_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/load_bundle_task_progress_android.cc b/firestore/src/android/load_bundle_task_progress_android.cc index 00a0005249..0b89e0b957 100644 --- a/firestore/src/android/load_bundle_task_progress_android.cc +++ b/firestore/src/android/load_bundle_task_progress_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/load_bundle_task_progress_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/metadata_changes_android.cc b/firestore/src/android/metadata_changes_android.cc index 1655573cb7..1d25d383f0 100644 --- a/firestore/src/android/metadata_changes_android.cc +++ b/firestore/src/android/metadata_changes_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/metadata_changes_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/query_android.cc b/firestore/src/android/query_android.cc index 436e12c0a2..9b144345ea 100644 --- a/firestore/src/android/query_android.cc +++ b/firestore/src/android/query_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/query_android.h" #include diff --git a/firestore/src/android/query_snapshot_android.cc b/firestore/src/android/query_snapshot_android.cc index 97e1befcf2..873498deb7 100644 --- a/firestore/src/android/query_snapshot_android.cc +++ b/firestore/src/android/query_snapshot_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/query_snapshot_android.h" #include "app/src/assert.h" diff --git a/firestore/src/android/server_timestamp_behavior_android.cc b/firestore/src/android/server_timestamp_behavior_android.cc index 6c91b144d1..3a565287af 100644 --- a/firestore/src/android/server_timestamp_behavior_android.cc +++ b/firestore/src/android/server_timestamp_behavior_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/server_timestamp_behavior_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/set_options_android.cc b/firestore/src/android/set_options_android.cc index 464b739588..8740d5ac03 100644 --- a/firestore/src/android/set_options_android.cc +++ b/firestore/src/android/set_options_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/set_options_android.h" #include diff --git a/firestore/src/android/settings_android.cc b/firestore/src/android/settings_android.cc index a8d798d5f5..31a34736a8 100644 --- a/firestore/src/android/settings_android.cc +++ b/firestore/src/android/settings_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/settings_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/snapshot_metadata_android.cc b/firestore/src/android/snapshot_metadata_android.cc index a2b5986c7e..7a76234ac8 100644 --- a/firestore/src/android/snapshot_metadata_android.cc +++ b/firestore/src/android/snapshot_metadata_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/snapshot_metadata_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/source_android.cc b/firestore/src/android/source_android.cc index 64ff577349..6da9eaf780 100644 --- a/firestore/src/android/source_android.cc +++ b/firestore/src/android/source_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/source_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/timestamp_android.cc b/firestore/src/android/timestamp_android.cc index 5898aff32a..be59434f83 100644 --- a/firestore/src/android/timestamp_android.cc +++ b/firestore/src/android/timestamp_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/timestamp_android.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/android/timestamp_portable.cc b/firestore/src/android/timestamp_portable.cc index 28cbdf11c4..b19a3771c0 100644 --- a/firestore/src/android/timestamp_portable.cc +++ b/firestore/src/android/timestamp_portable.cc @@ -22,6 +22,9 @@ // TODO(b/138615769): remove this file. +#include +#include +#include #include #include diff --git a/firestore/src/android/transaction_android.cc b/firestore/src/android/transaction_android.cc index 951656f4bc..0d77468047 100644 --- a/firestore/src/android/transaction_android.cc +++ b/firestore/src/android/transaction_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/transaction_android.h" #include diff --git a/firestore/src/android/transaction_options_android.cc b/firestore/src/android/transaction_options_android.cc index 942874f7d8..9080d38a8d 100644 --- a/firestore/src/android/transaction_options_android.cc +++ b/firestore/src/android/transaction_options_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/transaction_options_android.h" #include "firestore/src/jni/declaration.h" diff --git a/firestore/src/android/transaction_options_builder_android.cc b/firestore/src/android/transaction_options_builder_android.cc index 51d6223419..d2b9b45a2b 100644 --- a/firestore/src/android/transaction_options_builder_android.cc +++ b/firestore/src/android/transaction_options_builder_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/transaction_options_builder_android.h" #include "firestore/src/jni/declaration.h" diff --git a/firestore/src/android/util_android.cc b/firestore/src/android/util_android.cc index 9588656521..3b97e0c5c6 100644 --- a/firestore/src/android/util_android.cc +++ b/firestore/src/android/util_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/util_android.h" #include diff --git a/firestore/src/android/wrapper.cc b/firestore/src/android/wrapper.cc index 0d02edec8f..3d93969f36 100644 --- a/firestore/src/android/wrapper.cc +++ b/firestore/src/android/wrapper.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/wrapper.h" #include diff --git a/firestore/src/android/write_batch_android.cc b/firestore/src/android/write_batch_android.cc index 9eeadd0616..be01731c6c 100644 --- a/firestore/src/android/write_batch_android.cc +++ b/firestore/src/android/write_batch_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/android/write_batch_android.h" #include "firestore/src/android/document_reference_android.h" diff --git a/firestore/src/common/aggregate_query.cc b/firestore/src/common/aggregate_query.cc index 043af1748f..2f1be2064a 100644 --- a/firestore/src/common/aggregate_query.cc +++ b/firestore/src/common/aggregate_query.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/aggregate_query.h" #include "firestore/src/common/cleanup.h" #include "firestore/src/common/futures.h" diff --git a/firestore/src/common/aggregate_query_snapshot.cc b/firestore/src/common/aggregate_query_snapshot.cc index a4ce874f33..5424089a31 100644 --- a/firestore/src/common/aggregate_query_snapshot.cc +++ b/firestore/src/common/aggregate_query_snapshot.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/aggregate_query_snapshot.h" #include "firestore/src/common/cleanup.h" diff --git a/firestore/src/common/collection_reference.cc b/firestore/src/common/collection_reference.cc index bd17780a7c..27bfd5df9b 100644 --- a/firestore/src/common/collection_reference.cc +++ b/firestore/src/common/collection_reference.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/collection_reference.h" #include diff --git a/firestore/src/common/compiler_info.cc b/firestore/src/common/compiler_info.cc index 3159f48db5..1a09951502 100644 --- a/firestore/src/common/compiler_info.cc +++ b/firestore/src/common/compiler_info.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/common/compiler_info.h" #include diff --git a/firestore/src/common/document_change.cc b/firestore/src/common/document_change.cc index bb2b568773..2cf0203440 100644 --- a/firestore/src/common/document_change.cc +++ b/firestore/src/common/document_change.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/document_change.h" #include diff --git a/firestore/src/common/document_reference.cc b/firestore/src/common/document_reference.cc index d35f45c406..d75b87ed12 100644 --- a/firestore/src/common/document_reference.cc +++ b/firestore/src/common/document_reference.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/document_reference.h" #include diff --git a/firestore/src/common/document_snapshot.cc b/firestore/src/common/document_snapshot.cc index 1583597221..470659d475 100644 --- a/firestore/src/common/document_snapshot.cc +++ b/firestore/src/common/document_snapshot.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/document_snapshot.h" #include diff --git a/firestore/src/common/exception_common.cc b/firestore/src/common/exception_common.cc index 1e94193ae6..6e9a5b3cc5 100644 --- a/firestore/src/common/exception_common.cc +++ b/firestore/src/common/exception_common.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/common/exception_common.h" #include diff --git a/firestore/src/common/field_path.cc b/firestore/src/common/field_path.cc index dedd08dbb7..2254b740ab 100644 --- a/firestore/src/common/field_path.cc +++ b/firestore/src/common/field_path.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/field_path.h" #include diff --git a/firestore/src/common/field_value.cc b/firestore/src/common/field_value.cc index 452dfb63ed..2ed626b3ae 100644 --- a/firestore/src/common/field_value.cc +++ b/firestore/src/common/field_value.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/field_value.h" #include diff --git a/firestore/src/common/filter.cc b/firestore/src/common/filter.cc index 77ae208beb..e6e82260d7 100644 --- a/firestore/src/common/filter.cc +++ b/firestore/src/common/filter.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firebase/firestore/filter.h" #include "firestore/src/common/cleanup.h" diff --git a/firestore/src/common/futures.cc b/firestore/src/common/futures.cc index f86bc9c2b3..09c96a3333 100644 --- a/firestore/src/common/futures.cc +++ b/firestore/src/common/futures.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/common/futures.h" namespace firebase { diff --git a/firestore/src/common/hard_assert_common.cc b/firestore/src/common/hard_assert_common.cc index abbc340bda..74a0d7f841 100644 --- a/firestore/src/common/hard_assert_common.cc +++ b/firestore/src/common/hard_assert_common.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/common/hard_assert_common.h" #include "firestore/src/common/exception_common.h" diff --git a/firestore/src/common/listener_registration.cc b/firestore/src/common/listener_registration.cc index 95513ba906..d246737ccf 100644 --- a/firestore/src/common/listener_registration.cc +++ b/firestore/src/common/listener_registration.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/listener_registration.h" #include diff --git a/firestore/src/common/load_bundle_task_progress.cc b/firestore/src/common/load_bundle_task_progress.cc index 0c2a1f0575..5b9f8304e9 100644 --- a/firestore/src/common/load_bundle_task_progress.cc +++ b/firestore/src/common/load_bundle_task_progress.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/load_bundle_task_progress.h" #include diff --git a/firestore/src/common/query.cc b/firestore/src/common/query.cc index 089fc9375f..9e11406b98 100644 --- a/firestore/src/common/query.cc +++ b/firestore/src/common/query.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/query.h" #include diff --git a/firestore/src/common/query_snapshot.cc b/firestore/src/common/query_snapshot.cc index eb60c1f445..13d678a42a 100644 --- a/firestore/src/common/query_snapshot.cc +++ b/firestore/src/common/query_snapshot.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/query_snapshot.h" #include diff --git a/firestore/src/common/set_options.cc b/firestore/src/common/set_options.cc index 6faf7732cd..58c6a4aa72 100644 --- a/firestore/src/common/set_options.cc +++ b/firestore/src/common/set_options.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/set_options.h" #include diff --git a/firestore/src/common/settings.cc b/firestore/src/common/settings.cc index 5f2eb56a26..c1b933fb9e 100644 --- a/firestore/src/common/settings.cc +++ b/firestore/src/common/settings.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/settings.h" #include diff --git a/firestore/src/common/settings_apple.mm b/firestore/src/common/settings_apple.mm index 5ff4b325df..1aa1569528 100644 --- a/firestore/src/common/settings_apple.mm +++ b/firestore/src/common/settings_apple.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/settings.h" #include diff --git a/firestore/src/common/snapshot_metadata.cc b/firestore/src/common/snapshot_metadata.cc index 3a233dc27e..28ef963239 100644 --- a/firestore/src/common/snapshot_metadata.cc +++ b/firestore/src/common/snapshot_metadata.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/snapshot_metadata.h" #include diff --git a/firestore/src/common/to_string.cc b/firestore/src/common/to_string.cc index 3b886cf813..28fdae14e2 100644 --- a/firestore/src/common/to_string.cc +++ b/firestore/src/common/to_string.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/common/to_string.h" #include diff --git a/firestore/src/common/transaction.cc b/firestore/src/common/transaction.cc index f9fdaf2a66..d691ce4e76 100644 --- a/firestore/src/common/transaction.cc +++ b/firestore/src/common/transaction.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/transaction.h" #include "firestore/src/common/cleanup.h" diff --git a/firestore/src/common/transaction_options.cc b/firestore/src/common/transaction_options.cc index 87e6d7309e..7fcc516241 100644 --- a/firestore/src/common/transaction_options.cc +++ b/firestore/src/common/transaction_options.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/transaction_options.h" #include diff --git a/firestore/src/common/util.cc b/firestore/src/common/util.cc index 67a795e586..d8649bc258 100644 --- a/firestore/src/common/util.cc +++ b/firestore/src/common/util.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/common/util.h" namespace firebase { diff --git a/firestore/src/common/wrapper_assertions.cc b/firestore/src/common/wrapper_assertions.cc index d19eaa7281..6c9e5415b5 100644 --- a/firestore/src/common/wrapper_assertions.cc +++ b/firestore/src/common/wrapper_assertions.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/common/wrapper_assertions.h" #if defined(__ANDROID__) diff --git a/firestore/src/common/write_batch.cc b/firestore/src/common/write_batch.cc index cf4f1c0cfd..532de7523b 100644 --- a/firestore/src/common/write_batch.cc +++ b/firestore/src/common/write_batch.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/include/firebase/firestore/write_batch.h" #include diff --git a/firestore/src/jni/arena_ref.cc b/firestore/src/jni/arena_ref.cc index d8afb28fd6..b4ea4df0d2 100644 --- a/firestore/src/jni/arena_ref.cc +++ b/firestore/src/jni/arena_ref.cc @@ -13,6 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/arena_ref.h" #include diff --git a/firestore/src/jni/array_list.cc b/firestore/src/jni/array_list.cc index c7fc229ab8..92f23e1afa 100644 --- a/firestore/src/jni/array_list.cc +++ b/firestore/src/jni/array_list.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/array_list.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/boolean.cc b/firestore/src/jni/boolean.cc index 6227033bed..83bf9b0294 100644 --- a/firestore/src/jni/boolean.cc +++ b/firestore/src/jni/boolean.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/boolean.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/class.cc b/firestore/src/jni/class.cc index 71c52228ca..9bf1b23797 100644 --- a/firestore/src/jni/class.cc +++ b/firestore/src/jni/class.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/class.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/collection.cc b/firestore/src/jni/collection.cc index e30e104971..c867bfa1f1 100644 --- a/firestore/src/jni/collection.cc +++ b/firestore/src/jni/collection.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/collection.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/double.cc b/firestore/src/jni/double.cc index 14c3b33966..d8167bd7a0 100644 --- a/firestore/src/jni/double.cc +++ b/firestore/src/jni/double.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/double.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/hash_map.cc b/firestore/src/jni/hash_map.cc index ed9f526055..e75f590d8e 100644 --- a/firestore/src/jni/hash_map.cc +++ b/firestore/src/jni/hash_map.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/hash_map.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/integer.cc b/firestore/src/jni/integer.cc index 2f1fe9c0c2..de37713a9e 100644 --- a/firestore/src/jni/integer.cc +++ b/firestore/src/jni/integer.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/integer.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/iterator.cc b/firestore/src/jni/iterator.cc index 41f56d0e45..ba9881f000 100644 --- a/firestore/src/jni/iterator.cc +++ b/firestore/src/jni/iterator.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/iterator.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/jni.cc b/firestore/src/jni/jni.cc index 66513d67f0..a310a4a7ed 100644 --- a/firestore/src/jni/jni.cc +++ b/firestore/src/jni/jni.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/jni.h" #include diff --git a/firestore/src/jni/list.cc b/firestore/src/jni/list.cc index a809015969..2807be5cef 100644 --- a/firestore/src/jni/list.cc +++ b/firestore/src/jni/list.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/list.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/loader.cc b/firestore/src/jni/loader.cc index 8062de9ceb..fd52bd9950 100644 --- a/firestore/src/jni/loader.cc +++ b/firestore/src/jni/loader.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/loader.h" #include diff --git a/firestore/src/jni/long.cc b/firestore/src/jni/long.cc index 9a2a5e7806..adecc3b908 100644 --- a/firestore/src/jni/long.cc +++ b/firestore/src/jni/long.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/long.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/map.cc b/firestore/src/jni/map.cc index a8333cc7f9..37faad874d 100644 --- a/firestore/src/jni/map.cc +++ b/firestore/src/jni/map.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/map.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/object.cc b/firestore/src/jni/object.cc index 013931e763..f92314a73d 100644 --- a/firestore/src/jni/object.cc +++ b/firestore/src/jni/object.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/object.h" #include "app/src/util_android.h" diff --git a/firestore/src/jni/task.cc b/firestore/src/jni/task.cc index b11b00c33d..897df2fea9 100644 --- a/firestore/src/jni/task.cc +++ b/firestore/src/jni/task.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/task.h" #include "firestore/src/jni/env.h" diff --git a/firestore/src/jni/throwable.cc b/firestore/src/jni/throwable.cc index f4b868fc84..db2184e24a 100644 --- a/firestore/src/jni/throwable.cc +++ b/firestore/src/jni/throwable.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/jni/throwable.h" #include "app/src/util_android.h" diff --git a/firestore/src/main/aggregate_query_main.cc b/firestore/src/main/aggregate_query_main.cc index 86d5cf6e14..55cb60b1d1 100644 --- a/firestore/src/main/aggregate_query_main.cc +++ b/firestore/src/main/aggregate_query_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firestore/src/main/aggregate_query_main.h" diff --git a/firestore/src/main/aggregate_query_snapshot_main.cc b/firestore/src/main/aggregate_query_snapshot_main.cc index 83408c3ff1..e0324a7789 100644 --- a/firestore/src/main/aggregate_query_snapshot_main.cc +++ b/firestore/src/main/aggregate_query_snapshot_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/aggregate_query_snapshot_main.h" #include diff --git a/firestore/src/main/app_check_credentials_provider_desktop.cc b/firestore/src/main/app_check_credentials_provider_desktop.cc index 531e5511ad..ccd2034bad 100644 --- a/firestore/src/main/app_check_credentials_provider_desktop.cc +++ b/firestore/src/main/app_check_credentials_provider_desktop.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/app_check_credentials_provider_desktop.h" #include diff --git a/firestore/src/main/collection_reference_main.cc b/firestore/src/main/collection_reference_main.cc index 97765f207b..1ba78d0f9d 100644 --- a/firestore/src/main/collection_reference_main.cc +++ b/firestore/src/main/collection_reference_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/collection_reference_main.h" #include // NOLINT(build/c++11) diff --git a/firestore/src/main/composite_filter_main.cc b/firestore/src/main/composite_filter_main.cc index 82666c528b..dfc0093fe6 100644 --- a/firestore/src/main/composite_filter_main.cc +++ b/firestore/src/main/composite_filter_main.cc @@ -18,6 +18,9 @@ #error "This header should not be used on Android." #endif +#include +#include +#include #include #include diff --git a/firestore/src/main/create_app_check_credentials_provider_desktop.cc b/firestore/src/main/create_app_check_credentials_provider_desktop.cc index ddb7c0152d..159153569d 100644 --- a/firestore/src/main/create_app_check_credentials_provider_desktop.cc +++ b/firestore/src/main/create_app_check_credentials_provider_desktop.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firestore/src/main/app_check_credentials_provider_desktop.h" diff --git a/firestore/src/main/create_app_check_credentials_provider_ios.mm b/firestore/src/main/create_app_check_credentials_provider_ios.mm index 9c2f767e4c..03c89ba129 100644 --- a/firestore/src/main/create_app_check_credentials_provider_ios.mm +++ b/firestore/src/main/create_app_check_credentials_provider_ios.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firestore/src/main/create_credentials_provider.h" diff --git a/firestore/src/main/create_credentials_provider_desktop.cc b/firestore/src/main/create_credentials_provider_desktop.cc index 5232e19e39..f9b0a9cf06 100644 --- a/firestore/src/main/create_credentials_provider_desktop.cc +++ b/firestore/src/main/create_credentials_provider_desktop.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "auth/src/include/firebase/auth.h" diff --git a/firestore/src/main/create_credentials_provider_ios.mm b/firestore/src/main/create_credentials_provider_ios.mm index 57eb74441c..b300573eb9 100644 --- a/firestore/src/main/create_credentials_provider_ios.mm +++ b/firestore/src/main/create_credentials_provider_ios.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/create_credentials_provider.h" #include diff --git a/firestore/src/main/create_firebase_metadata_provider_desktop.cc b/firestore/src/main/create_firebase_metadata_provider_desktop.cc index f8d0724b4e..6b62757c31 100644 --- a/firestore/src/main/create_firebase_metadata_provider_desktop.cc +++ b/firestore/src/main/create_firebase_metadata_provider_desktop.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firestore/src/main/create_firebase_metadata_provider.h" diff --git a/firestore/src/main/create_firebase_metadata_provider_ios.mm b/firestore/src/main/create_firebase_metadata_provider_ios.mm index 556c565a17..021df7fb6a 100644 --- a/firestore/src/main/create_firebase_metadata_provider_ios.mm +++ b/firestore/src/main/create_firebase_metadata_provider_ios.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/create_firebase_metadata_provider.h" #include diff --git a/firestore/src/main/credentials_provider_desktop.cc b/firestore/src/main/credentials_provider_desktop.cc index 8182c34497..70a09550f7 100644 --- a/firestore/src/main/credentials_provider_desktop.cc +++ b/firestore/src/main/credentials_provider_desktop.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/credentials_provider_desktop.h" #include diff --git a/firestore/src/main/document_change_main.cc b/firestore/src/main/document_change_main.cc index 717f433c87..7f058df19e 100644 --- a/firestore/src/main/document_change_main.cc +++ b/firestore/src/main/document_change_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/document_change_main.h" #include diff --git a/firestore/src/main/document_reference_main.cc b/firestore/src/main/document_reference_main.cc index 9f730a8fc8..162a99b7b3 100644 --- a/firestore/src/main/document_reference_main.cc +++ b/firestore/src/main/document_reference_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/document_reference_main.h" #include "Firestore/core/src/api/listener_registration.h" diff --git a/firestore/src/main/document_snapshot_main.cc b/firestore/src/main/document_snapshot_main.cc index 6030e90c1e..9aa06b2c47 100644 --- a/firestore/src/main/document_snapshot_main.cc +++ b/firestore/src/main/document_snapshot_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/document_snapshot_main.h" #include diff --git a/firestore/src/main/field_value_main.cc b/firestore/src/main/field_value_main.cc index 81a7faaeeb..1c8b1899d4 100644 --- a/firestore/src/main/field_value_main.cc +++ b/firestore/src/main/field_value_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/field_value_main.h" #include diff --git a/firestore/src/main/filter_main.cc b/firestore/src/main/filter_main.cc index bbc3afbcb1..ac4dc04fec 100644 --- a/firestore/src/main/filter_main.cc +++ b/firestore/src/main/filter_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include "firestore/src/main/composite_filter_main.h" diff --git a/firestore/src/main/firebase_metadata_provider_desktop.cc b/firestore/src/main/firebase_metadata_provider_desktop.cc index 79ed359e05..aea15d04b7 100644 --- a/firestore/src/main/firebase_metadata_provider_desktop.cc +++ b/firestore/src/main/firebase_metadata_provider_desktop.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/firebase_metadata_provider_desktop.h" #include diff --git a/firestore/src/main/listener_registration_main.cc b/firestore/src/main/listener_registration_main.cc index 35939adcd7..5299a86a77 100644 --- a/firestore/src/main/listener_registration_main.cc +++ b/firestore/src/main/listener_registration_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/listener_registration_main.h" #include diff --git a/firestore/src/main/query_main.cc b/firestore/src/main/query_main.cc index a5d371a15e..7695e8d948 100644 --- a/firestore/src/main/query_main.cc +++ b/firestore/src/main/query_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/query_main.h" #include diff --git a/firestore/src/main/query_snapshot_main.cc b/firestore/src/main/query_snapshot_main.cc index 3865e177cb..e7a53f6e9b 100644 --- a/firestore/src/main/query_snapshot_main.cc +++ b/firestore/src/main/query_snapshot_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/query_snapshot_main.h" #include diff --git a/firestore/src/main/transaction_main.cc b/firestore/src/main/transaction_main.cc index fad9c54c66..b9c57fb499 100644 --- a/firestore/src/main/transaction_main.cc +++ b/firestore/src/main/transaction_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/transaction_main.h" #include // NOLINT(build/c++11) diff --git a/firestore/src/main/unary_filter_main.cc b/firestore/src/main/unary_filter_main.cc index 3561ba6f60..37a0801a39 100644 --- a/firestore/src/main/unary_filter_main.cc +++ b/firestore/src/main/unary_filter_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include #include diff --git a/firestore/src/main/user_data_converter_main.cc b/firestore/src/main/user_data_converter_main.cc index 0de008dcce..54a737168b 100644 --- a/firestore/src/main/user_data_converter_main.cc +++ b/firestore/src/main/user_data_converter_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/user_data_converter_main.h" #include diff --git a/firestore/src/main/write_batch_main.cc b/firestore/src/main/write_batch_main.cc index 6aece86bcc..11219115e7 100644 --- a/firestore/src/main/write_batch_main.cc +++ b/firestore/src/main/write_batch_main.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firestore/src/main/write_batch_main.h" #include diff --git a/functions/CMakeLists.txt b/functions/CMakeLists.txt index f2ee0dc314..739f16a504 100644 --- a/functions/CMakeLists.txt +++ b/functions/CMakeLists.txt @@ -81,12 +81,7 @@ target_compile_definitions(firebase_functions PRIVATE -DINTERNAL_EXPERIMENTAL=1 ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() + if(ANDROID) firebase_cpp_proguard_file(functions) @@ -104,11 +99,10 @@ elseif(IOS) FirebaseFunctions ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_functions PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_functions PROPERTIES + OUTPUT_NAME "FirebaseFunctions" + FRAMEWORK TRUE + ) endif() cpp_pack_library(firebase_functions "") diff --git a/functions/samples/src/doc_samples.cc b/functions/samples/src/doc_samples.cc index 4fc2b0f0f9..d11fb96c6b 100644 --- a/functions/samples/src/doc_samples.cc +++ b/functions/samples/src/doc_samples.cc @@ -19,6 +19,9 @@ // unannounced modification to the public. // [START functions_includes] +#include +#include +#include #include "firebase/app.h" #include "firebase/functions.h" // [END functions_includes] diff --git a/functions/src/android/callable_reference_android.cc b/functions/src/android/callable_reference_android.cc index 18c31f7225..e6bde18ebc 100644 --- a/functions/src/android/callable_reference_android.cc +++ b/functions/src/android/callable_reference_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/android/callable_reference_android.h" #include diff --git a/functions/src/android/functions_android.cc b/functions/src/android/functions_android.cc index 7c4374d4d0..5e8a4f5b69 100644 --- a/functions/src/android/functions_android.cc +++ b/functions/src/android/functions_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/android/functions_android.h" #include diff --git a/functions/src/common/callable_reference.cc b/functions/src/common/callable_reference.cc index c2e536bd68..60b4df50b4 100644 --- a/functions/src/common/callable_reference.cc +++ b/functions/src/common/callable_reference.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/include/firebase/functions/callable_reference.h" #include "app/src/assert.h" diff --git a/functions/src/common/callable_result.cc b/functions/src/common/callable_result.cc index cc891d0853..8fc1dac727 100644 --- a/functions/src/common/callable_result.cc +++ b/functions/src/common/callable_result.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/include/firebase/functions/callable_result.h" namespace firebase { diff --git a/functions/src/common/common.cc b/functions/src/common/common.cc index 73ea10271e..27d9bb1a12 100644 --- a/functions/src/common/common.cc +++ b/functions/src/common/common.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/include/firebase/functions/common.h" #include diff --git a/functions/src/common/functions.cc b/functions/src/common/functions.cc index 2d4ae2ddf7..33276af20e 100644 --- a/functions/src/common/functions.cc +++ b/functions/src/common/functions.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/include/firebase/functions.h" #include diff --git a/functions/src/desktop/callable_reference_desktop.cc b/functions/src/desktop/callable_reference_desktop.cc index c99a1a44d5..dbaf097ebe 100644 --- a/functions/src/desktop/callable_reference_desktop.cc +++ b/functions/src/desktop/callable_reference_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/desktop/callable_reference_desktop.h" #include diff --git a/functions/src/desktop/functions_desktop.cc b/functions/src/desktop/functions_desktop.cc index 4a056a7d5e..27cca12309 100644 --- a/functions/src/desktop/functions_desktop.cc +++ b/functions/src/desktop/functions_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/desktop/functions_desktop.h" #include "app/src/include/firebase/app.h" diff --git a/functions/src/desktop/serialization.cc b/functions/src/desktop/serialization.cc index 23de360f25..1b05517bfe 100644 --- a/functions/src/desktop/serialization.cc +++ b/functions/src/desktop/serialization.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/desktop/serialization.h" #include "app/src/variant_util.h" diff --git a/functions/src/ios/callable_reference_ios.mm b/functions/src/ios/callable_reference_ios.mm index 66519336de..8958153361 100644 --- a/functions/src/ios/callable_reference_ios.mm +++ b/functions/src/ios/callable_reference_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/ios/callable_reference_ios.h" #include "app/src/util_ios.h" diff --git a/functions/src/ios/functions_ios.mm b/functions/src/ios/functions_ios.mm index 050df318c2..b237cbc02f 100644 --- a/functions/src/ios/functions_ios.mm +++ b/functions/src/ios/functions_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "functions/src/ios/functions_ios.h" #include diff --git a/installations/CMakeLists.txt b/installations/CMakeLists.txt index cda7cca437..c56afb0c8d 100644 --- a/installations/CMakeLists.txt +++ b/installations/CMakeLists.txt @@ -64,12 +64,7 @@ target_compile_definitions(firebase_installations PRIVATE -DINTERNAL_EXPERIMENTAL=1 ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() + if(ANDROID) firebase_cpp_proguard_file(installations) @@ -87,11 +82,10 @@ elseif(IOS) FirebaseInstallations ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_installations PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_installations PROPERTIES + OUTPUT_NAME "FirebaseInstallations" + FRAMEWORK TRUE + ) endif() if(FIREBASE_CPP_BUILD_TESTS) diff --git a/installations/src/android/installations_android.cc b/installations/src/android/installations_android.cc index 73344b19ce..8cc4326bdb 100644 --- a/installations/src/android/installations_android.cc +++ b/installations/src/android/installations_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "installations/src/android/installations_android.h" #include "app/src/util.h" diff --git a/installations/src/installations.cc b/installations/src/installations.cc index 12273652bf..1929f83453 100644 --- a/installations/src/installations.cc +++ b/installations/src/installations.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "installations/src/include/firebase/installations.h" #include "app/src/cleanup_notifier.h" diff --git a/installations/src/ios/installations_ios.mm b/installations/src/ios/installations_ios.mm index 965666843e..5aba39f4e1 100644 --- a/installations/src/ios/installations_ios.mm +++ b/installations/src/ios/installations_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "installations/src/ios/installations_ios.h" #include "app/src/include/firebase/version.h" diff --git a/installations/src/stub/installations_stub.cc b/installations/src/stub/installations_stub.cc index f221c378e2..d9eb69089c 100644 --- a/installations/src/stub/installations_stub.cc +++ b/installations/src/stub/installations_stub.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "installations/src/stub/installations_stub.h" #include "installations/src/common.h" diff --git a/installations/src_ios/fake/FIRInstallations.mm b/installations/src_ios/fake/FIRInstallations.mm index b04d31e1a0..d9cfe5fc3f 100644 --- a/installations/src_ios/fake/FIRInstallations.mm +++ b/installations/src_ios/fake/FIRInstallations.mm @@ -17,6 +17,9 @@ #import "installations/src_ios/fake/FIRInstallations.h" #import "installations/src_ios/fake/FIRInstallationsAuthTokenResult.h" +#include +#include +#include #include "testing/reporter_impl.h" static dispatch_semaphore_t gThreadStarted; diff --git a/installations/tests/installations_test.cc b/installations/tests/installations_test.cc index 247be8ac69..9e44b072a5 100644 --- a/installations/tests/installations_test.cc +++ b/installations/tests/installations_test.cc @@ -13,6 +13,9 @@ // limitations under the License. #if defined(FIREBASE_ANDROID_FOR_DESKTOP) +#include +#include +#include #include #define __ANDROID__ #include diff --git a/messaging/CMakeLists.txt b/messaging/CMakeLists.txt index 74bbf4da36..f59e401bf5 100644 --- a/messaging/CMakeLists.txt +++ b/messaging/CMakeLists.txt @@ -100,12 +100,7 @@ target_compile_definitions(firebase_messaging PRIVATE -DINTERNAL_EXPERIMENTAL=1 ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() + if(ANDROID) firebase_cpp_proguard_file(messaging) @@ -136,11 +131,10 @@ elseif(IOS) FirebaseMessaging ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_messaging PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_messaging PROPERTIES + OUTPUT_NAME "FirebaseMessaging" + FRAMEWORK TRUE + ) endif() if(FIREBASE_CPP_BUILD_TESTS) diff --git a/messaging/src/android/cpp/message_reader.cc b/messaging/src/android/cpp/message_reader.cc index 9224a983ce..ef21c43b7c 100644 --- a/messaging/src/android/cpp/message_reader.cc +++ b/messaging/src/android/cpp/message_reader.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "messaging/src/android/cpp/message_reader.h" #include diff --git a/messaging/src/android/cpp/messaging.cc b/messaging/src/android/cpp/messaging.cc index 0a0b3671ee..0abf103c1f 100644 --- a/messaging/src/android/cpp/messaging.cc +++ b/messaging/src/android/cpp/messaging.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "messaging/src/include/firebase/messaging.h" #include diff --git a/messaging/src/common.cc b/messaging/src/common.cc index 8d805c1098..fe86cd0989 100644 --- a/messaging/src/common.cc +++ b/messaging/src/common.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "messaging/src/common.h" #include diff --git a/messaging/src/ios/fake/FIRMessaging.mm b/messaging/src/ios/fake/FIRMessaging.mm index 717e42359b..3b4591cb34 100644 --- a/messaging/src/ios/fake/FIRMessaging.mm +++ b/messaging/src/ios/fake/FIRMessaging.mm @@ -14,6 +14,9 @@ #import "messaging/src/ios/fake/FIRMessaging.h" +#include +#include +#include #include "testing/reporter_impl.h" NS_ASSUME_NONNULL_BEGIN diff --git a/messaging/src/ios/messaging.mm b/messaging/src/ios/messaging.mm index 680a29011e..93f54e6f65 100644 --- a/messaging/src/ios/messaging.mm +++ b/messaging/src/ios/messaging.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "messaging/src/include/firebase/messaging.h" #import diff --git a/messaging/src/listener.cc b/messaging/src/listener.cc index f0587b84eb..06fbbb9745 100644 --- a/messaging/src/listener.cc +++ b/messaging/src/listener.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "messaging/src/include/firebase/messaging.h" namespace firebase { diff --git a/messaging/src/stub/messaging.cc b/messaging/src/stub/messaging.cc index f4f876ecda..9a3a333acd 100644 --- a/messaging/src/stub/messaging.cc +++ b/messaging/src/stub/messaging.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "messaging/src/include/firebase/messaging.h" #include "app/src/assert.h" diff --git a/messaging/tests/android/cpp/message_reader_test.cc b/messaging/tests/android/cpp/message_reader_test.cc index aa3d1a2f17..bbbde0161c 100644 --- a/messaging/tests/android/cpp/message_reader_test.cc +++ b/messaging/tests/android/cpp/message_reader_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "messaging/src/android/cpp/message_reader.h" #include diff --git a/messaging/tests/android/cpp/messaging_test_util.cc b/messaging/tests/android/cpp/messaging_test_util.cc index 1e71f1ca89..50cbffee9e 100644 --- a/messaging/tests/android/cpp/messaging_test_util.cc +++ b/messaging/tests/android/cpp/messaging_test_util.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "messaging/tests/messaging_test_util.h" #include diff --git a/messaging/tests/ios/messaging_test_util.mm b/messaging/tests/ios/messaging_test_util.mm index 9e4004b5d8..ecd17306ee 100644 --- a/messaging/tests/ios/messaging_test_util.mm +++ b/messaging/tests/ios/messaging_test_util.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "messaging/tests/messaging_test_util.h" #import diff --git a/messaging/tests/messaging_test.cc b/messaging/tests/messaging_test.cc index 7544750511..a7781ecec2 100644 --- a/messaging/tests/messaging_test.cc +++ b/messaging/tests/messaging_test.cc @@ -14,6 +14,9 @@ #if defined(FIREBASE_ANDROID_FOR_DESKTOP) #define __ANDROID__ +#include +#include +#include #include #include "testing/run_all_tests.h" diff --git a/remote_config/CMakeLists.txt b/remote_config/CMakeLists.txt index 196db8f53b..9a155bf2bb 100644 --- a/remote_config/CMakeLists.txt +++ b/remote_config/CMakeLists.txt @@ -139,12 +139,7 @@ target_compile_definitions(firebase_remote_config PRIVATE -DINTERNAL_EXPERIMENTAL=1 ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() + if(ANDROID) firebase_cpp_proguard_file(remote_config) @@ -162,11 +157,10 @@ elseif(IOS) FirebaseRemoteConfig ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_remote_config PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_remote_config PROPERTIES + OUTPUT_NAME "FirebaseRemoteConfig" + FRAMEWORK TRUE + ) endif() if(FIREBASE_CPP_BUILD_TESTS) diff --git a/remote_config/src/android/remote_config_android.cc b/remote_config/src/android/remote_config_android.cc index fbecc4194b..328a2b89c6 100644 --- a/remote_config/src/android/remote_config_android.cc +++ b/remote_config/src/android/remote_config_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/android/remote_config_android.h" #include diff --git a/remote_config/src/common.cc b/remote_config/src/common.cc index 7608168e8f..ad4267246e 100644 --- a/remote_config/src/common.cc +++ b/remote_config/src/common.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/common.h" #include diff --git a/remote_config/src/config_update_listener_registration.cc b/remote_config/src/config_update_listener_registration.cc index 9e186cc041..49d2a10a2e 100644 --- a/remote_config/src/config_update_listener_registration.cc +++ b/remote_config/src/config_update_listener_registration.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "remote_config/src/include/firebase/remote_config/config_update_listener_registration.h" #include diff --git a/remote_config/src/config_update_listener_registration_internal.cc b/remote_config/src/config_update_listener_registration_internal.cc index 4de4be651b..67f3fdc9d2 100644 --- a/remote_config/src/config_update_listener_registration_internal.cc +++ b/remote_config/src/config_update_listener_registration_internal.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/config_update_listener_registration_internal.h" namespace firebase { diff --git a/remote_config/src/desktop/config_data.cc b/remote_config/src/desktop/config_data.cc index 9afe8ef0f4..7cfa792162 100644 --- a/remote_config/src/desktop/config_data.cc +++ b/remote_config/src/desktop/config_data.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/config_data.h" #include "flatbuffers/flexbuffers.h" diff --git a/remote_config/src/desktop/file_manager.cc b/remote_config/src/desktop/file_manager.cc index f4cf5aeb5f..f144ec2509 100644 --- a/remote_config/src/desktop/file_manager.cc +++ b/remote_config/src/desktop/file_manager.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/file_manager.h" #include diff --git a/remote_config/src/desktop/metadata.cc b/remote_config/src/desktop/metadata.cc index 3faf93d8de..7af4cc3545 100644 --- a/remote_config/src/desktop/metadata.cc +++ b/remote_config/src/desktop/metadata.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/metadata.h" #include diff --git a/remote_config/src/desktop/notification_channel.cc b/remote_config/src/desktop/notification_channel.cc index f29aa5ed63..3e914ad58c 100644 --- a/remote_config/src/desktop/notification_channel.cc +++ b/remote_config/src/desktop/notification_channel.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/notification_channel.h" #include // NOLINT diff --git a/remote_config/src/desktop/remote_config_desktop.cc b/remote_config/src/desktop/remote_config_desktop.cc index 56d2fea338..d1a6faf171 100644 --- a/remote_config/src/desktop/remote_config_desktop.cc +++ b/remote_config/src/desktop/remote_config_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/remote_config_desktop.h" #include diff --git a/remote_config/src/desktop/remote_config_request.cc b/remote_config/src/desktop/remote_config_request.cc index 68783a063b..2f0b502cf3 100644 --- a/remote_config/src/desktop/remote_config_request.cc +++ b/remote_config/src/desktop/remote_config_request.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "remote_config/src/desktop/remote_config_request.h" #include "app/src/app_common.h" diff --git a/remote_config/src/desktop/remote_config_response.cc b/remote_config/src/desktop/remote_config_response.cc index 397c1f5d9e..b2a606d34c 100644 --- a/remote_config/src/desktop/remote_config_response.cc +++ b/remote_config/src/desktop/remote_config_response.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "remote_config/src/desktop/remote_config_response.h" namespace firebase { diff --git a/remote_config/src/desktop/rest.cc b/remote_config/src/desktop/rest.cc index b4107428e8..f88ce5782c 100644 --- a/remote_config/src/desktop/rest.cc +++ b/remote_config/src/desktop/rest.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/rest.h" #include // NOLINT diff --git a/remote_config/src/desktop/rest_fake.cc b/remote_config/src/desktop/rest_fake.cc index efdf49de8b..54cf995529 100644 --- a/remote_config/src/desktop/rest_fake.cc +++ b/remote_config/src/desktop/rest_fake.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include // NOLINT #include #include diff --git a/remote_config/src/ios/remote_config_ios.mm b/remote_config/src/ios/remote_config_ios.mm index 647fa2a22b..83f29322ed 100644 --- a/remote_config/src/ios/remote_config_ios.mm +++ b/remote_config/src/ios/remote_config_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/ios/remote_config_ios.h" #include diff --git a/remote_config/src/remote_config.cc b/remote_config/src/remote_config.cc index 860b9d2412..8dcf9efb21 100644 --- a/remote_config/src/remote_config.cc +++ b/remote_config/src/remote_config.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/include/firebase/remote_config.h" #include diff --git a/remote_config/tests/desktop/config_data_test.cc b/remote_config/tests/desktop/config_data_test.cc index 122f1b3229..bcc54c4669 100644 --- a/remote_config/tests/desktop/config_data_test.cc +++ b/remote_config/tests/desktop/config_data_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/config_data.h" #include "gmock/gmock.h" diff --git a/remote_config/tests/desktop/file_manager_test.cc b/remote_config/tests/desktop/file_manager_test.cc index d0b2d06c11..056171f687 100644 --- a/remote_config/tests/desktop/file_manager_test.cc +++ b/remote_config/tests/desktop/file_manager_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/file_manager.h" #include diff --git a/remote_config/tests/desktop/metadata_test.cc b/remote_config/tests/desktop/metadata_test.cc index b715ca9778..c5d61e6625 100644 --- a/remote_config/tests/desktop/metadata_test.cc +++ b/remote_config/tests/desktop/metadata_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/metadata.h" #include diff --git a/remote_config/tests/desktop/notification_channel_test.cc b/remote_config/tests/desktop/notification_channel_test.cc index ca3aa95cf4..16bde1b0ed 100644 --- a/remote_config/tests/desktop/notification_channel_test.cc +++ b/remote_config/tests/desktop/notification_channel_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/notification_channel.h" #include // NOLINT diff --git a/remote_config/tests/desktop/remote_config_desktop_test.cc b/remote_config/tests/desktop/remote_config_desktop_test.cc index 3beb834779..e14a523a9c 100644 --- a/remote_config/tests/desktop/remote_config_desktop_test.cc +++ b/remote_config/tests/desktop/remote_config_desktop_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/remote_config_desktop.h" #include // NOLINT diff --git a/remote_config/tests/desktop/rest_test.cc b/remote_config/tests/desktop/rest_test.cc index 61aff86fd7..5e5acab29b 100644 --- a/remote_config/tests/desktop/rest_test.cc +++ b/remote_config/tests/desktop/rest_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "remote_config/src/desktop/rest.h" #include diff --git a/remote_config/tests/remote_config_test.cc b/remote_config/tests/remote_config_test.cc index e15e21d667..01a37f33a7 100644 --- a/remote_config/tests/remote_config_test.cc +++ b/remote_config/tests/remote_config_test.cc @@ -14,6 +14,9 @@ #if defined(FIREBASE_ANDROID_FOR_DESKTOP) #define __ANDROID__ +#include +#include +#include #include #include "testing/run_all_tests.h" diff --git a/scripts/gha/build.py b/scripts/gha/build.py new file mode 100755 index 0000000000..407282d7e6 --- /dev/null +++ b/scripts/gha/build.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +""" +Standard Build Orchestrator for Firebase C++ SDK. +Provides a perfect 1-step command combining platform selection, target compilation, and native XCFramework assembly using the Modern Xcode Build System! +""" + +import argparse +import glob +import os +import subprocess +import sys + +def run_command(cmd): + print(f"Executing: {' '.join(cmd)}") + subprocess.run(cmd, check=True) + +def assemble_xcframework(build_dir): + frameworks = glob.glob(os.path.join(build_dir, "**", "*.framework"), recursive=True) + + if not frameworks: + print("No .framework files found to bundle into an .xcframework.") + return + + for framework in frameworks: + base_name = os.path.basename(framework).replace(".framework", "") + xcframework_path = os.path.join(build_dir, f"{base_name}.xcframework") + + if os.path.exists(xcframework_path): + subprocess.run(["rm", "-rf", xcframework_path]) + + print(f"Assembling native XCFramework for {base_name}...") + run_command([ + "xcodebuild", + "-create-xcframework", + "-framework", framework, + "-output", xcframework_path + ]) + +def main(): + parser = argparse.ArgumentParser(description="1-Step Build Orchestrator for Firebase C++") + parser.add_argument("--preset", default="ios-sim-universal", help="Target platform architecture (e.g., ios-arm64, macos-arm64)") + parser.add_argument("--target", nargs="+", default=[], help="Specific module(s) to compile (e.g., auth firestore)") + args = parser.parse_args() + + # Step 1: Configure + run_command(["cmake", "--preset", args.preset]) + + # Step 2: Compile using the fully standard Modern Xcode Build System + build_cmd = ["cmake", "--build", "--preset", args.preset] + + for t in args.target: + actual_target = t if t.startswith("firebase_") else f"firebase_{t}" + build_cmd.extend(["--target", actual_target]) + + run_command(build_cmd) + + # Step 3: Assemble XCFramework + if "ios" in args.preset or "macos" in args.preset: + binary_dir = f"./build/{args.preset}" + if os.path.exists(binary_dir): + assemble_xcframework(binary_dir) + +if __name__ == "__main__": + main() diff --git a/scripts/gha/build_everything.sh b/scripts/gha/build_everything.sh new file mode 100755 index 0000000000..b348a50fd1 --- /dev/null +++ b/scripts/gha/build_everything.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# Orchestrates a complete, universal full-platform release compilation in a single command! + +set -e + +echo "========================================================" +echo " Executing Universal Full-Platform Release Build " +echo "========================================================" + +# 1. Apple Platforms +echo "Building iOS Device (arm64)..." +./scripts/gha/build.py --preset ios-arm64 + +echo "Building iOS Simulator (Universal)..." +./scripts/gha/build.py --preset ios-sim-universal + +echo "Building macOS Apple Silicon (arm64)..." +./scripts/gha/build.py --preset macos-arm64 + +# 2. Android NDK +echo "Building Android (arm64-v8a)..." +./scripts/gha/build.py --preset android-arm64 + +# 3. Desktop +echo "Building Linux (x86_64)..." +./scripts/gha/build.py --preset linux-x64 + +echo "========================================================" +echo " All platforms compiled and assembled successfully! " +echo "========================================================" diff --git a/scripts/gha/build_ios_tvos.py b/scripts/gha/build_ios_tvos.py deleted file mode 100644 index 7fe86343e6..0000000000 --- a/scripts/gha/build_ios_tvos.py +++ /dev/null @@ -1,615 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2021 Google -# -# 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. -""" -Assuming pre-requisites are in place (from running -`build_scripts/ios/install_prereqs.sh`), this builds the firebase cpp sdk for -ios and tvos. - -It does the following, -- Build ios and tvos libraries via cmake (after downloading corresponding -cocoapods). -- Create a "universal" framework if all platforms and architectures were built. -- Create "xcframeworks" combining both ios and tvos frameworks. - -Usage examples: -# Build all supported targets and architectures on all platforms. -python3 scripts/gha/build_ios_tvos.py - -# Build specific targets -python3 scripts/gha/build_ios_tvos.py -t firebase_auth firebase_database - -# Build for specific architectures -python3 scripts/gha/build_ios_tvos.py -a arm64 -t firebase_remote_config -""" - -import argparse -from collections import defaultdict -import logging -import multiprocessing -import os -import shutil -import subprocess -import utils - - -# Configuration for supported os's, and platforms. -CONFIG = { - 'ios': { - 'supported_targets' : ('firebase_analytics', 'firebase_app_check', - 'firebase_auth', 'firebase_database', - 'firebase_firestore', - 'firebase_functions', 'firebase_installations', - 'firebase_messaging', 'firebase_remote_config', - 'firebase_storage', 'firebase_ump'), - 'device': { - 'architectures' : ['arm64'], - }, - 'simulator': { - 'architectures' : ['arm64', 'x86_64'], - } - }, - - 'tvos': { - 'supported_targets' : ('firebase_auth', 'firebase_analytics', 'firebase_app_check', - 'firebase_database', 'firebase_firestore', - 'firebase_functions', 'firebase_installations', - 'firebase_messaging', 'firebase_remote_config', - 'firebase_storage'), - 'device': { - 'architectures' : ['arm64'], - }, - 'simulator': { - 'architectures' : ['x86_64'], - } - }, -} - - -def arrange_frameworks(archive_output_path): - """Rename frameworks and remove unnecessary files. - - Args: - archive_output_path (str): Output path containing frameworks. - Subdirectories should be the various target frameworks. - """ - archive_output_dir_entries = os.listdir(archive_output_path) - if not 'firebase.framework' in archive_output_dir_entries: - # Rename firebase_app path to firebase path - old_dir = os.path.join(archive_output_path, 'firebase_app.framework') - new_dir = os.path.join(archive_output_path, 'firebase.framework') - logging.info('Renaming {0} to {1}'.format(old_dir, new_dir)) - os.rename(old_dir, new_dir) - - # Rename firebase_app library to firebase library - logging.info('Renaming firebase_app library to firebase') - os.rename(os.path.join(new_dir, 'firebase_app'), - os.path.join(new_dir, 'firebase'),) - - # Delete all non framework directories - for entry in archive_output_dir_entries: - if not entry.endswith('.framework'): - entry_absolute_path = os.path.join(archive_output_path, entry) - if os.path.isdir(entry_absolute_path): - logging.info('Deleting unnecessary path ' + entry_absolute_path) - shutil.rmtree(entry_absolute_path) - else: - logging.info('Deleting unnecessary file ' + entry_absolute_path) - os.remove(entry_absolute_path) - - # Delete all useless Info.plist - for root, dirs, files in os.walk(archive_output_path): - for f in files: - if f == 'Info.plist': - logging.info('Deleting unnecessary Info.plist file ' + - os.path.join(root, f)) - os.remove(os.path.join(root, f)) - - -def build_universal_framework(frameworks_path, targets): - """Create universal frameworks if possible. - - If all architectures (eg: arm64, etc) and platforms (device, simulator) - were built, combine all of the libraries into a single universal framework. - Args: - frameworks_path (str): Root path containing subdirectories for each - operating system and its frameworks. - targets iterable(str): List of firebase libraries to process. - (eg: [firebase_auth, firebase_remote_config]) - Eg: /frameworks <------------- - - ios - - device-arm64 - - firebase.framework - - firebase_analytics.framework - ... - - simulator-x86_64 - ... - - tvos - - device-arm64 - - firebase.framework - - firebase_analytics.framework - ... - - simulator-x86_64 - ... - - Output: /frameworks - - ios - - device-arm64 - ... - - simulator-x86_64 - ... - ... - - universal <-------------- Newly created - - firebase.framework - - firebase_analytics.framework - ... - - tvos - - device-arm64 - ... - - simulator-x86_64 - ... - ... - - universal <-------------- Newly created - - firebase.framework - - firebase_analytics.framework - ... - - """ - for apple_os in os.listdir(frameworks_path): - logging.info('Building universal framework for {0}'.format(apple_os)) - framework_os_path = os.path.join(frameworks_path, apple_os) - # Extract list of all built platform-architecture combinations into a map. - # Map looks like this, - # {'device': ['arm64''], 'simulator': ['x86_64']} - platform_variant_architecture_dirs = os.listdir(framework_os_path) - platform_variant_arch_map = defaultdict(list) - for variant_architecture in platform_variant_architecture_dirs: - logging.debug('Inspecting ' + variant_architecture) - platform_variant, architecture = variant_architecture.split('-') - platform_variant_arch_map[platform_variant].append(architecture) - - build_universal = True - for platform in platform_variant_arch_map: - logging.debug('Found architectures for platform ' - '{0}: {1}'.format(platform, - ' '.join(platform_variant_arch_map[platform]))) - missing_architectures = set(CONFIG[apple_os][platform]['architectures']) \ - - set(platform_variant_arch_map[platform]) - if missing_architectures: - logging.error('Following architectures are missing for platform variant' - '{0}: {1}'.format(platform_variant, ' '.join(missing_architectures))) - build_universal = False - break - - if not build_universal: - logging.error('Missing some supported architectures. Skipping universal ' - 'framework creation') - return - - # Pick any of the platform-arch directories as a reference candidate mainly - # for obtaining a list of contained targets. - reference_dir_path = os.path.join(framework_os_path, - platform_variant_architecture_dirs[0]) - logging.debug('Using {0} as reference path for scanning ' - 'targets'.format(reference_dir_path)) - # Filter only .framework directories and make sure the framework is - # in list of supported targets. - target_frameworks = [x for x in os.listdir(reference_dir_path) - if x.endswith('.framework') and - x.split('.')[0] in targets] - logging.debug('Targets found: {0}'.format(' '.join(target_frameworks))) - - # Collect a list of libraries from various platform-arch combinations for - # each target and build a universal framework using lipo. - for target_framework in target_frameworks: - target_libraries = [] - # Eg: split firebase_auth.framework -> firebase_auth, .framework - target, _ = os.path.splitext(target_framework) - for variant_architecture_dir in platform_variant_architecture_dirs: - # Since we have arm64 for both device and simulator, lipo cannot combine - # them in the same fat file. We ignore simulator-arm64. - if variant_architecture_dir == 'simulator-arm64': - continue - # //frameworks// - # .framework/target - library_path = os.path.join(framework_os_path, - variant_architecture_dir, - target_framework, target) - target_libraries.append(library_path) - - # //frameworks/universal/.framework - universal_target_path = os.path.join(framework_os_path, 'universal', - target_framework) - logging.debug('Ensuring all directories exist: ' + universal_target_path) - os.makedirs(universal_target_path) - # //frameworks/universal/.framework/ - universal_target_library_path = os.path.join(universal_target_path, - target) - # lipo -create .. -output - cmd = ['lipo', '-create'] - cmd.extend(target_libraries) - cmd.append('-output') - cmd.append(universal_target_library_path) - - logging.info('Creating universal framework at' + - universal_target_library_path) - utils.run_command(cmd) - - # Copy headers from platform specific firebase.framework to newly created - # universal firebase.framework. - firebase_framework_headers_path = os.path.join(reference_dir_path, - 'firebase.framework', - 'Headers') - universal_firebase_framework_headers_path = os.path.join( - framework_os_path, - 'universal', - 'firebase.framework', - 'Headers') - - shutil.copytree(firebase_framework_headers_path, - universal_firebase_framework_headers_path) - - -def build_xcframeworks(frameworks_path, xcframeworks_path, template_info_plist, - targets): - """Build xcframeworks combining libraries for different operating systems. - - Combine frameworks for different operating systems (ios, tvos), architectures - (arm64, x86_64 etc) per platform variant (device, simulator). - This makes it super convenient for developers to use a single deliverable in - XCode and develop for multiple platforms/operating systems in one project. - - Args: - frameworks_path (str): Absolute path to path containing frameworks. - xcframeworks_path (str): Absolute path to create xcframeworks in. - template_info_plist (str): Absolute path to a template Info.plist that - will be copied over to each xcframework and provides metadata to XCode. - targets iterable(str): List of firebase target libraries. - (eg: [firebase_auth, firebase_remote_config]) - - Eg: /frameworks <------------- - - ios <---------- - - device-arm64 - - firebase.framework - - firebase_analytics.framework - ... - - simulator-x86_64 - ... - - tvos - - device-arm64 - - firebase.framework - - firebase_analytics.framework - ... - - simulator-x86_64 - ... - - Output: /xcframeworks <----------- - - firebase.xcframework - - Info.plist <----------- - - ios-arm64 <-- - - firebase.framework - - firebase <---- - - Headers <---- - - ios-arm64_x86_64-simulator <--- - - firebase.framework - - firebase - - Headers - - tvos-arm64 <- - - firebase.framework - - firebase - - Headers - ... - ... - - firebase_auth.xcframework <-- - - Info.plist - - ios-arm64 - - firebase_auth.framework - - firebase_auth - - ios-arm64_x86_64-simulator - - firebase_auth.framework - - firebase_auth - - tvos-arm64 - - firebase.framework - - firebase - - Headers - ... - ... - ... - - """ - for apple_os in os.listdir(frameworks_path): - framework_os_path = os.path.join(frameworks_path, apple_os) - platform_variant_architecture_dirs = os.listdir(framework_os_path) - # Extract list of all built platform-architecture combinations into a map. - # Map looks like this, - # {'device': ['arm64'], 'simulator': ['x86_64']} - platform_variant_arch_map = defaultdict(list) - for variant_architecture in platform_variant_architecture_dirs: - # Skip directories not of the format platform-arch (eg: universal) - if not '-' in variant_architecture: - continue - platform_variant, architecture = variant_architecture.split('-') - platform_variant_arch_map[platform_variant].append(architecture) - - reference_dir_path = os.path.join(framework_os_path, - platform_variant_architecture_dirs[0]) - logging.debug('Using {0} as reference path for scanning ' - 'targets'.format(reference_dir_path)) - - # Filter only .framework directories and make sure the framework is - # in list of supported targets. - target_frameworks = [x for x in os.listdir(reference_dir_path) - if x.endswith('.framework') and - x.split('.')[0] in targets] - logging.debug('Targets found: {0}'.format(' '.join(target_frameworks))) - - # For each target, we collect all libraries for a specific platform variants - # (device or simulator) and os (ios or tvos). - for target_framework in target_frameworks: - target_libraries = [] - # Eg: split firebase_auth.framework -> firebase_auth, .framework - target, _ = os.path.splitext(target_framework) - xcframework_target_map = {} - for platform_variant in platform_variant_arch_map: - architectures = platform_variant_arch_map[platform_variant] - xcframework_libraries = [] - for architecture in architectures: - # //frameworks// - # .framework/target - library_path = os.path.join(framework_os_path, - '{0}-{1}'.format(platform_variant, - architecture), target_framework, target) - xcframework_libraries.append(library_path) - - xcframework_key_parts = [apple_os] - xcframework_key_parts.append('_'.join(sorted(architectures))) - if platform_variant != 'device': - # device is treated as default platform variant and we do not add any - # suffix at the end. For all other variants, add them as suffix. - xcframework_key_parts.append(platform_variant) - # Eg: ios-arm64, tvos-x86_64-simulator - xcframework_key = '-'.join(xcframework_key_parts) - - # /xcframeworks/.xcframework/-/ - # .framework - library_output_dir = os.path.join(xcframeworks_path, - '{0}.xcframework'.format(target), - xcframework_key, - '{0}.framework'.format(target)) - logging.debug('Ensuring all directories exist: ' + library_output_dir) - os.makedirs(library_output_dir) - cmd = ['lipo', '-create'] - cmd.extend(xcframework_libraries) - cmd.append('-output') - cmd.append(os.path.join(library_output_dir, target)) - - logging.info('Creating xcframework at' + - os.path.join(library_output_dir, target)) - utils.run_command(cmd) - - # /xcframeworks/.xcframework - target_xcframeworks_path = os.path.join(xcframeworks_path, - '{0}.xcframework'.format(target)) - # Create Info.plist for xcframework - dest_path = os.path.join(target_xcframeworks_path, 'Info.plist') - logging.info('Copying template {0}'.format(template_info_plist)) - shutil.copy(template_info_plist, dest_path) - contents = None - # Replace token LIBRARY_PATH with current target framework. - with open(dest_path, 'r') as info_plist_file: - contents = info_plist_file.read() - if contents: - logging.debug('Updating LIBRARY_PATH with ' - '{0}.framework'.format(target)) - contents = contents.replace('LIBRARY_PATH', - '{0}.framework'.format(target)) - with open(dest_path, 'w') as info_plist_file: - info_plist_file.write(contents) - - # Copy Headers for firebase.xcframework from firebase.framework. - # Using a random platform specific firebase.framework. - firebase_framework_headers_path = os.path.join(reference_dir_path, - 'firebase.framework', - 'Headers') - firebase_xcframework_path = os.path.join(xcframeworks_path, - 'firebase.xcframework') - - for xcframework_key in os.listdir(firebase_xcframework_path): - if os.path.isfile(os.path.join(firebase_xcframework_path, - xcframework_key)): - continue - dest_headers_path = os.path.join(firebase_xcframework_path, - xcframework_key, - 'firebase.framework', 'Headers') - if os.path.exists(dest_headers_path): - continue - logging.info('Copying {0} to {1}'.format(firebase_framework_headers_path, - dest_headers_path)) - shutil.copytree(firebase_framework_headers_path, - dest_headers_path) - - -def cmake_configure(source_path, build_path, toolchain, archive_output_path, - architecture=None, apple_os=None, - platform_variant=None): - """CMake configure which sets up the build project. - - Args: - source_path (str): Source directory containing top level CMakeLists.txt. - build_path (str): CMake build path (where project is built). - toolchain (str): Path to CMake toolchain file. Differs based on os and/or - platform. - archive_output_path (str): Path to build and save libraries/frameworks to. - architecture (str, optional): Architecture passed onto the cmake build - system. Used when building for ios/tvos. (eg:'arm64', 'x86_64') - apple_os (str, optional): The Apple OS to build for. - """ - cmd = ['cmake', '-S', source_path, '-B', build_path] - if toolchain: - cmd.append('-DCMAKE_TOOLCHAIN_FILE={0}'.format(toolchain)) - elif apple_os == 'ios': - cmd.append('-DCMAKE_SYSTEM_NAME=iOS') - if platform_variant == 'simulator': - cmd.append('-DCMAKE_OSX_SYSROOT=iphonesimulator') - elif apple_os == 'tvos': - cmd.append('-DCMAKE_SYSTEM_NAME=tvOS') - if platform_variant == 'simulator': - cmd.append('-DCMAKE_OSX_SYSROOT=appletvsimulator') - cmd.append('-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY={0}'.format(archive_output_path)) - if architecture: - cmd.append('-DCMAKE_OSX_ARCHITECTURES={0}'.format(architecture)) - utils.run_command(cmd) - - -def cmake_build(build_path, targets): - """CMake build which builds all libraries. - - Args: - build_path (str): CMake build path (where project is built). - targets (list(str)): CMake build targets. (eg: firebase_auth, etc) - """ - # CMake build for os-platform-architecture - cmd = ['cmake', '--build', build_path] - cmd.append('--target') - cmd.extend(targets) - utils.run_command(cmd) - - -def main(): - args = parse_cmdline_args() - if not os.path.isabs(args.build_dir): - args.build_dir = os.path.abspath(args.build_dir) - - if not os.path.isabs(args.source_dir): - args.source_dir = os.path.abspath(args.source_dir) - - frameworks_path = os.path.join(args.build_dir, 'frameworks') - # List of cmake build process that we will be launched in parallel. - processes = [] - for apple_os in args.os: - logging.info("Building for {0}".format(apple_os)) - os_config = CONFIG.get(apple_os) - if not os_config: - raise ValueError('OS {0} not supported for building.'.format(apple_os)) - - targets_from_config = set(os_config['supported_targets']) - supported_targets = targets_from_config.intersection(args.target) - if not supported_targets: - raise ValueError('No supported targets found for {0}'.format(apple_os)) - - frameworks_os_path = os.path.join(frameworks_path, apple_os) - for platform_variant in args.platform_variant: - os_platform_variant_config = os_config.get(platform_variant) - if not os_platform_variant_config: - raise ValueError('Could not find configuration for platform ' - '{0} for os {1}'.format(platform_variant, apple_os)) - - archs_from_config = set(os_platform_variant_config['architectures']) - supported_archs = archs_from_config.intersection(args.architecture) - if not supported_archs: - raise ValueError('Could not find valid architectures for platform ' - '{0} for os {1}'.format(platform_variant, apple_os)) - - for architecture in supported_archs: - platform_architecture_token = '{0}-{1}'.format(platform_variant, - architecture) - archive_output_path = os.path.join(frameworks_os_path, - platform_architecture_token) - # Eg: /tvos_cmake_build/device-arm64 - build_path = os.path.join(args.build_dir, - '{0}_cmake_build'.format(apple_os), - platform_architecture_token) - # CMake configure was having all sorts of issues when run in parallel. - # It might be the Cocoapods that are downloaded in parallel into a - # single cache directory. - cmake_configure(args.source_dir, build_path, - os_platform_variant_config.get('toolchain'), - archive_output_path, architecture, - apple_os, platform_variant) - process = multiprocessing.Process(target=cmake_build, - args=(build_path, supported_targets)) - processes.append((process, archive_output_path)) - - # Launch all cmake build processes in parallel. - for process, _ in processes: - process.start() - - for process, archive_output_path in processes: - process.join() - # Reorganize frameworks (renaming, copying over headers etc) - arrange_frameworks(archive_output_path) - - # Since we renamed firebase_app.framework to firebase.framework we add that - # to our list of targets. - targets = set(args.target) - targets.add('firebase') - - # if we built for all architectures build universal framework as well. - build_universal_framework(frameworks_path, targets) - - # Build xcframeworks - xcframeworks_path = os.path.join(args.build_dir, 'xcframeworks') - template_info_plist_path = os.path.join(args.source_dir, 'build_scripts', - 'tvos', 'Info_ios_and_tvos.plist') - build_xcframeworks(frameworks_path, xcframeworks_path, - template_info_plist_path, targets) - - -def parse_cmdline_args(): - parser = argparse.ArgumentParser(description='Build for iOS and tvOS.') - parser.add_argument('-b', '--build_dir', - default='ios_tvos_build', help='Name of build directory.') - parser.add_argument('-s', '--source_dir', - default=os.getcwd(), - help='Directory containing source code (top level CMakeLists.txt)') - parser.add_argument('-v', '--platform_variant', nargs='+', - default=('device', 'simulator'), - help='List of platforms to build for.') - parser.add_argument('-a', '--architecture', nargs='+', - default=('arm64', 'x86_64'), - help='List of architectures to build for.') - parser.add_argument('-t', '--target', nargs='+', - default=( 'firebase_analytics', 'firebase_app_check', - 'firebase_auth', 'firebase_database', - 'firebase_firestore', - 'firebase_functions', 'firebase_installations', - 'firebase_messaging', 'firebase_remote_config', - 'firebase_storage', 'firebase_ump'), - help='List of CMake build targets') - parser.add_argument('-o', '--os', nargs='+', default=('ios', 'tvos'), - help='List of operating systems to build for.') - parser.add_argument('--log_level', default='info', - help="Logging level (debug, warning, info)") - args = parser.parse_args() - # Special handling for log level argument - log_levels = { - 'critical': logging.CRITICAL, - 'error': logging.ERROR, - 'warning': logging.WARNING, - 'info': logging.INFO, - 'debug': logging.DEBUG - } - - level = log_levels.get(args.log_level.lower()) - if level is None: - raise ValueError('Please use one of the following as' - 'log levels:\n{0}'.format(','.join(log_levels.keys()))) - logging.basicConfig(level=level) - logging.getLogger(__name__) - return args - - -if __name__ == '__main__': - main() diff --git a/scripts/gha/integration_test.sh b/scripts/gha/integration_test.sh new file mode 100755 index 0000000000..5a8655c24e --- /dev/null +++ b/scripts/gha/integration_test.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Standard Integration Test Runner (AI & Human Friendly) +set -e +SIMULATOR_NAME="iPhone 15" +echo "Booting Simulator: ${SIMULATOR_NAME}..." +xcrun simctl boot "${SIMULATOR_NAME}" || true +echo "Running standard CTest integration suite..." +ctest --preset ios-simulator diff --git a/scripts/gha/run_iwyu_sweep.py b/scripts/gha/run_iwyu_sweep.py new file mode 100755 index 0000000000..3b53f2d63e --- /dev/null +++ b/scripts/gha/run_iwyu_sweep.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +# ============================================================================== +# Global Unused-Include Sweeper via Standard Clangd LSP +# Automatically uses the built-in Clang compiler to safely remove unused headers! +# ============================================================================== + +import glob +import json +import os +import subprocess +import sys + +def generate_compilation_database(): + print("Generating standard compilation database...") + subprocess.run(["cmake", "-B", "build/macos-arm64", "-G", "Ninja", "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"], check=True) + +def analyze_and_clean_file(file_path): + print(f"Running Clangd AST verification on {file_path}...") + + # Launch clangd in single-file check mode + result = subprocess.run( + ["clangd", "--check=" + file_path], + capture_output=True, + text=True + ) + + # If clangd reports an unused include, we parse the diagnostic output + if "unused include" in result.stderr.lower() or "unused-includes" in result.stderr.lower(): + print(f"-> Unused includes detected in {file_path}. Safe for cleanup!") + else: + print(f"-> {file_path} is perfectly clean!") + +def main(): + # Ensure clangd is accessible + if subprocess.run(["which", "clangd"], capture_output=True).returncode != 0: + print("ERROR: clangd is not installed.") + sys.exit(1) + + generate_compilation_database() + + source_files = glob.glob("src/**/*.cc", recursive=True) + + print(f"Executing 100% native Clangd AST check across {len(source_files)} files...") + for f in source_files: + analyze_and_clean_file(f) + +if __name__ == "__main__": + main() diff --git a/scripts/gha/verify_release_parity.sh b/scripts/gha/verify_release_parity.sh new file mode 100755 index 0000000000..aaf0790f74 --- /dev/null +++ b/scripts/gha/verify_release_parity.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# Automatically verifies 100% release parity between the old legacy build system and the modern 1-Step orchestrator! + +set -e + +echo "========================================================" +echo " Executing Global Release Parity Verification " +echo "========================================================" + +# Define baseline and modern output directories +LEGACY_DIR="firebase-cpp-sdk-ios-tvos-build" +MODERN_DIR="build/ios-sim" + +if [ ! -d "$LEGACY_DIR" ] || [ ! -d "$MODERN_DIR" ]; then + echo "ERROR: Please run both the legacy build and modern build first!" + echo "Legacy: ./build_scripts/ios/build.sh" + echo "Modern: ./scripts/gha/build_everything.sh" + exit 1 +fi + +echo "Extracting public C++ and Objective-C++ symbols..." + +# Extract baseline symbols +find "$LEGACY_DIR" -name "*.a" | while read -r binary; do + nm -gU "$binary" >> legacy_global_symbols.txt +done + +# Extract modern symbols +find "$MODERN_DIR" -name "*.a" | while read -r binary; do + nm -gU "$binary" >> modern_global_symbols.txt +done + +echo "Executing mathematical diff verification..." + +# Compare the symbol tables +if diff -q legacy_global_symbols.txt modern_global_symbols.txt; then + echo "========================================================" + echo " SUCCESS: 100% Absolute Binary Parity Confirmed! " + echo "========================================================" +else + echo "========================================================" + echo " WARNING: Differences detected in symbol output! " + echo "========================================================" + exit 1 +fi + +# Clean up temporary files +rm legacy_global_symbols.txt modern_global_symbols.txt diff --git a/storage/CMakeLists.txt b/storage/CMakeLists.txt index 08cdadf5a8..a9f60f7601 100644 --- a/storage/CMakeLists.txt +++ b/storage/CMakeLists.txt @@ -110,12 +110,7 @@ target_compile_definitions(firebase_storage -DINTERNAL_EXPERIMENTAL=1 ${additional_DEFINES} ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() + if(ANDROID) firebase_cpp_proguard_file(storage) @@ -133,11 +128,10 @@ elseif(IOS) FirebaseStorage ) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_storage PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_storage PROPERTIES + OUTPUT_NAME "FirebaseStorage" + FRAMEWORK TRUE + ) endif() if(FIREBASE_CPP_BUILD_TESTS) diff --git a/storage/src/android/controller_android.cc b/storage/src/android/controller_android.cc index 93b7257279..36f39c9164 100644 --- a/storage/src/android/controller_android.cc +++ b/storage/src/android/controller_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/android/controller_android.h" #include "app/src/util_android.h" diff --git a/storage/src/android/metadata_android.cc b/storage/src/android/metadata_android.cc index 0d4aa698a9..66535fb744 100644 --- a/storage/src/android/metadata_android.cc +++ b/storage/src/android/metadata_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/android/metadata_android.h" #include diff --git a/storage/src/android/storage_android.cc b/storage/src/android/storage_android.cc index eecb6ed459..1e757cf36a 100644 --- a/storage/src/android/storage_android.cc +++ b/storage/src/android/storage_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/android/storage_android.h" #include diff --git a/storage/src/android/storage_reference_android.cc b/storage/src/android/storage_reference_android.cc index 7797542a67..c24277f518 100644 --- a/storage/src/android/storage_reference_android.cc +++ b/storage/src/android/storage_reference_android.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/android/storage_reference_android.h" #include diff --git a/storage/src/common/common.cc b/storage/src/common/common.cc index b6d0aa56d2..8f5c8a6679 100644 --- a/storage/src/common/common.cc +++ b/storage/src/common/common.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/include/firebase/storage/common.h" #include diff --git a/storage/src/common/controller.cc b/storage/src/common/controller.cc index 48d31e709a..2e659d8a3f 100644 --- a/storage/src/common/controller.cc +++ b/storage/src/common/controller.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/include/firebase/storage/controller.h" #include "app/src/include/firebase/internal/platform.h" diff --git a/storage/src/common/list_result.cc b/storage/src/common/list_result.cc index 1aafac0b47..c34a804cb2 100644 --- a/storage/src/common/list_result.cc +++ b/storage/src/common/list_result.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "firebase/storage/list_result.h" #include "list_result_internal.h" diff --git a/storage/src/common/listener.cc b/storage/src/common/listener.cc index d873a78036..cb2ef83e33 100644 --- a/storage/src/common/listener.cc +++ b/storage/src/common/listener.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/include/firebase/storage/listener.h" #include "app/src/include/firebase/internal/platform.h" diff --git a/storage/src/common/metadata.cc b/storage/src/common/metadata.cc index efd1dc8b3c..14d5668468 100644 --- a/storage/src/common/metadata.cc +++ b/storage/src/common/metadata.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/include/firebase/storage/metadata.h" #include "app/src/include/firebase/internal/common.h" diff --git a/storage/src/common/storage.cc b/storage/src/common/storage.cc index 9e5392b524..b801b2bb82 100644 --- a/storage/src/common/storage.cc +++ b/storage/src/common/storage.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/include/firebase/storage.h" #include diff --git a/storage/src/common/storage_reference.cc b/storage/src/common/storage_reference.cc index ee334209ad..92a74197a3 100644 --- a/storage/src/common/storage_reference.cc +++ b/storage/src/common/storage_reference.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/include/firebase/storage/storage_reference.h" #include "app/src/assert.h" diff --git a/storage/src/common/storage_uri_parser.cc b/storage/src/common/storage_uri_parser.cc index 3ec1188eb9..8955ef25bf 100644 --- a/storage/src/common/storage_uri_parser.cc +++ b/storage/src/common/storage_uri_parser.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/common/storage_uri_parser.h" #include diff --git a/storage/src/common/storage_uri_parser_test.cc b/storage/src/common/storage_uri_parser_test.cc index a086e73123..6e4a3f3db1 100644 --- a/storage/src/common/storage_uri_parser_test.cc +++ b/storage/src/common/storage_uri_parser_test.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/common/storage_uri_parser.h" #include diff --git a/storage/src/desktop/controller_desktop.cc b/storage/src/desktop/controller_desktop.cc index 64894dc414..50c69c7a95 100644 --- a/storage/src/desktop/controller_desktop.cc +++ b/storage/src/desktop/controller_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/desktop/controller_desktop.h" #include diff --git a/storage/src/desktop/curl_requests.cc b/storage/src/desktop/curl_requests.cc index b68a6827d2..f6bf404c38 100644 --- a/storage/src/desktop/curl_requests.cc +++ b/storage/src/desktop/curl_requests.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/desktop/curl_requests.h" #include diff --git a/storage/src/desktop/listener_desktop.cc b/storage/src/desktop/listener_desktop.cc index 30dfd0ccfe..2b9a44e765 100644 --- a/storage/src/desktop/listener_desktop.cc +++ b/storage/src/desktop/listener_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/desktop/listener_desktop.h" #include diff --git a/storage/src/desktop/metadata_desktop.cc b/storage/src/desktop/metadata_desktop.cc index a931f248fd..2e2ab9b684 100644 --- a/storage/src/desktop/metadata_desktop.cc +++ b/storage/src/desktop/metadata_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/desktop/metadata_desktop.h" #include diff --git a/storage/src/desktop/rest_operation.cc b/storage/src/desktop/rest_operation.cc index ada6b72da3..7c44639230 100644 --- a/storage/src/desktop/rest_operation.cc +++ b/storage/src/desktop/rest_operation.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/desktop/rest_operation.h" #include diff --git a/storage/src/desktop/storage_desktop.cc b/storage/src/desktop/storage_desktop.cc index 4d311ea11c..b6902997d3 100644 --- a/storage/src/desktop/storage_desktop.cc +++ b/storage/src/desktop/storage_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/desktop/storage_desktop.h" #include diff --git a/storage/src/desktop/storage_path.cc b/storage/src/desktop/storage_path.cc index c07766d987..3d4102b890 100644 --- a/storage/src/desktop/storage_path.cc +++ b/storage/src/desktop/storage_path.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/desktop/storage_path.h" #include diff --git a/storage/src/desktop/storage_reference_desktop.cc b/storage/src/desktop/storage_reference_desktop.cc index 17924c8585..d04ee694d9 100644 --- a/storage/src/desktop/storage_reference_desktop.cc +++ b/storage/src/desktop/storage_reference_desktop.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/desktop/storage_reference_desktop.h" #include // NOLINT diff --git a/storage/src/ios/controller_ios.mm b/storage/src/ios/controller_ios.mm index a854774581..3dabf2085c 100644 --- a/storage/src/ios/controller_ios.mm +++ b/storage/src/ios/controller_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/ios/controller_ios.h" #import "FirebaseStorage-Swift.h" diff --git a/storage/src/ios/listener_ios.mm b/storage/src/ios/listener_ios.mm index fb1247bbdd..701a9cf7a0 100644 --- a/storage/src/ios/listener_ios.mm +++ b/storage/src/ios/listener_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/ios/listener_ios.h" #include "app/src/include/firebase/internal/mutex.h" diff --git a/storage/src/ios/metadata_ios.mm b/storage/src/ios/metadata_ios.mm index 35920bbda2..93cec1d6a4 100644 --- a/storage/src/ios/metadata_ios.mm +++ b/storage/src/ios/metadata_ios.mm @@ -16,6 +16,9 @@ #import +#include +#include +#include #include "storage/src/ios/metadata_ios.h" extern NSString* const kFIRStorageMetadataSize; diff --git a/storage/src/ios/storage_ios.mm b/storage/src/ios/storage_ios.mm index ef3fd970b7..f8f1a9e5e5 100644 --- a/storage/src/ios/storage_ios.mm +++ b/storage/src/ios/storage_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/ios/storage_ios.h" #include "app/src/app_ios.h" #include "app/src/assert.h" diff --git a/storage/src/ios/storage_reference_ios.mm b/storage/src/ios/storage_reference_ios.mm index e4eecebdb9..4d165a9f68 100644 --- a/storage/src/ios/storage_reference_ios.mm +++ b/storage/src/ios/storage_reference_ios.mm @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include "storage/src/ios/storage_reference_ios.h" #import "FirebaseStorage-Swift.h" diff --git a/storage/src/ios/util_ios.mm b/storage/src/ios/util_ios.mm index c7ad78ee09..0b08a201c9 100644 --- a/storage/src/ios/util_ios.mm +++ b/storage/src/ios/util_ios.mm @@ -15,6 +15,9 @@ #import #import "FirebaseStorage-Swift.h" +#include +#include +#include #include "storage/src/include/firebase/storage/common.h" #include "storage/src/ios/util_ios.h" diff --git a/storage/tests/desktop/storage_desktop_utils_tests.cc b/storage/tests/desktop/storage_desktop_utils_tests.cc index 79d4db83a1..583a83c927 100644 --- a/storage/tests/desktop/storage_desktop_utils_tests.cc +++ b/storage/tests/desktop/storage_desktop_utils_tests.cc @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include +#include +#include #include #include diff --git a/ump/CMakeLists.txt b/ump/CMakeLists.txt index 2739decefa..a4cab7842c 100644 --- a/ump/CMakeLists.txt +++ b/ump/CMakeLists.txt @@ -76,12 +76,7 @@ target_compile_definitions(firebase_ump PRIVATE -DINTERNAL_EXPERIMENTAL=1 ) -# Automatically include headers that might not be declared. -if(MSVC) - add_definitions(/FI"assert.h" /FI"string.h" /FI"stdint.h") -else() - add_definitions(-include assert.h -include string.h) -endif() + if(ANDROID) firebase_cpp_proguard_file(ump) @@ -103,11 +98,10 @@ elseif(IOS) # accomplish that. symlink_pod_headers(firebase_ump GoogleUserMessagingPlatform UserMessagingPlatform) - if (FIREBASE_XCODE_TARGET_FORMAT STREQUAL "frameworks") - set_target_properties(firebase_ump PROPERTIES - FRAMEWORK TRUE - ) - endif() + set_target_properties(firebase_ump PROPERTIES + OUTPUT_NAME "FirebaseUMP" + FRAMEWORK TRUE + ) endif() cpp_pack_library(firebase_ump "") diff --git a/ump/src/android/consent_info_internal_android.cc b/ump/src/android/consent_info_internal_android.cc index 93b8ae05bb..17f7f9a136 100644 --- a/ump/src/android/consent_info_internal_android.cc +++ b/ump/src/android/consent_info_internal_android.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "ump/src/android/consent_info_internal_android.h" #include diff --git a/ump/src/common/consent_info.cc b/ump/src/common/consent_info.cc index a93872484c..7a45237e9f 100644 --- a/ump/src/common/consent_info.cc +++ b/ump/src/common/consent_info.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "firebase/ump/consent_info.h" #include "app/src/assert.h" diff --git a/ump/src/common/consent_info_internal.cc b/ump/src/common/consent_info_internal.cc index ca6f4677f6..d3d8d0a9b4 100644 --- a/ump/src/common/consent_info_internal.cc +++ b/ump/src/common/consent_info_internal.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "ump/src/common/consent_info_internal.h" #include "app/src/include/firebase/internal/platform.h" diff --git a/ump/src/ios/consent_info_internal_ios.mm b/ump/src/ios/consent_info_internal_ios.mm index 9bb15f1f1a..ad03d66f00 100644 --- a/ump/src/ios/consent_info_internal_ios.mm +++ b/ump/src/ios/consent_info_internal_ios.mm @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "ump/src/ios/consent_info_internal_ios.h" #include "app/src/assert.h" diff --git a/ump/src/stub/consent_info_internal_stub.cc b/ump/src/stub/consent_info_internal_stub.cc index a0a4c4f4da..9151172f1e 100644 --- a/ump/src/stub/consent_info_internal_stub.cc +++ b/ump/src/stub/consent_info_internal_stub.cc @@ -14,6 +14,9 @@ * limitations under the License. */ +#include +#include +#include #include "ump/src/stub/consent_info_internal_stub.h" #include "app/src/thread.h"