rsgowman ce61f4e0e6 Rename nanopb generated headers from foo.pb.h to foo.nanopb.h (#1371) 7 năm trước cách đây
..
FrameworkMaker.xcodeproj 09e4eddd82 Rebuild proto artifacts from existing sources and update README.md instructions. (#1058) 8 năm trước cách đây
cpp ce61f4e0e6 Rename nanopb generated headers from foo.pb.h to foo.nanopb.h (#1371) 7 năm trước cách đây
nanopb ce61f4e0e6 Rename nanopb generated headers from foo.pb.h to foo.nanopb.h (#1371) 7 năm trước cách đây
objc 6f2ef7d389 Update protos. (#1075) 8 năm trước cách đây
protos 6f2ef7d389 Update protos. (#1075) 8 năm trước cách đây
CMakeLists.txt ce61f4e0e6 Rename nanopb generated headers from foo.pb.h to foo.nanopb.h (#1371) 7 năm trước cách đây
Podfile bde743ed25 Release 4.3.0 (#327) 8 năm trước cách đây
README.md 09e4eddd82 Rebuild proto artifacts from existing sources and update README.md instructions. (#1058) 8 năm trước cách đây
build-protos.sh ce61f4e0e6 Rename nanopb generated headers from foo.pb.h to foo.nanopb.h (#1371) 7 năm trước cách đây
strip-registry.py bde743ed25 Release 4.3.0 (#327) 8 năm trước cách đây

README.md

Usage

First, make sure you have necessary prereqs for building:

brew install automake libtool protobuf

Take a nap while that completes. Then, build protobuf and nanopb:

cd firebase-ios-sdk
mkdir -p build
cd build
cmake ..
make -j protobuf nanopb

Next, build the protos:

cd firebase-ios-sdk/Firestore/Protos
./build-protos.sh

Verify diffs (you'll likely need to re-add copyright notices, etc.), make sure tests still pass, and create a PR.

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.*.