Denver Coneybeare 2ab9dcb354 Create individual Python virtualenv's in cmake builds (#9662) %!s(int64=4) %!d(string=hai) anos
..
FrameworkMaker.xcodeproj 145c111d1a Minimum osx to 10.11 (#2680) %!s(int64=7) %!d(string=hai) anos
cpp d5c336f4ca Add index.proto (#9334) %!s(int64=4) %!d(string=hai) anos
lib d0686d2f63 C++ migration: implement pretty-printing of Nanopb-generated messages (#4184) %!s(int64=6) %!d(string=hai) anos
nanopb d5c336f4ca Add index.proto (#9334) %!s(int64=4) %!d(string=hai) anos
protos d5c336f4ca Add index.proto (#9334) %!s(int64=4) %!d(string=hai) anos
CMakeLists.txt 2ab9dcb354 Create individual Python virtualenv's in cmake builds (#9662) %!s(int64=4) %!d(string=hai) anos
Podfile bde743ed25 Release 4.3.0 (#327) %!s(int64=8) %!d(string=hai) anos
README.md 3d573f9714 Update Firestore sources for nanopb 0.3.9.5 (#5481) %!s(int64=6) %!d(string=hai) anos
build_protos.py bffb108542 Fix cmake build for macOS 12.3 where `python` no longer exists. (#9477) %!s(int64=4) %!d(string=hai) anos
nanopb_cpp_generator.py 7a58eba2e5 Remove `firebase/firestore` from paths in Firestore/core (#5374) %!s(int64=6) %!d(string=hai) anos

README.md

Usage

First, make sure you have necessary prereqs for building:

brew install automake libtool protobuf golang

Take a nap while that completes. Then, build the protos:

cd firebase-ios-sdk  # the root of this repo, not Firestore/Protos
mkdir -p build
cd build
cmake ..
make -j generate_protos

Verify diffs, make sure tests still pass, and create a PR.

Updating to a new nanopb version:

Script Details

Get the protoc and the gRPC plugin. See here. The easiest way I found was to add pod '!ProtoCompiler-gRPCPlugin' to a Podfile and do pod update.

After running the protoc, shell commands run to fix up the generated code:

  • Flatten import paths for CocoaPods library build.
  • Remove unneeded extensionRegistry functions.
  • Remove non-buildable code from Annotations.pbobjc.*.