Skip to content

Commit 517b3f1

Browse files
committed
Firebase C++ open source fixes
Update copybara logic to handle proguard files and leveldb Work around bug in flatbuffers with file generation Update Firestore to 1.13.0 PiperOrigin-RevId: 315535927
1 parent dab1fc6 commit 517b3f1

File tree

10 files changed

+67
-42
lines changed

10 files changed

+67
-42
lines changed

app/CMakeLists.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,16 @@ add_custom_command(
6767
# Build the google_services_generated.h header from the flatbuffer schema file.
6868
set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
6969
"--no-union-value-namespacing"
70+
"--gen-generated"
7071
"--gen-object-api"
7172
"--cpp-ptr-type" "flatbuffers::unique_ptr")
72-
build_flatbuffers("${CMAKE_CURRENT_LIST_DIR}/google_services.fbs"
73-
""
74-
"app_generated_includes"
75-
"${FIREBASE_FLATBUFFERS_DEPENDENCIES}"
76-
"${FIREBASE_GEN_FILE_DIR}/app"
77-
""
78-
"")
73+
flatbuffers_generate_headers(
74+
TARGET generate_app_fbs
75+
SCHEMAS "${CMAKE_CURRENT_LIST_DIR}/google_services.fbs"
76+
FLAGS ${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}
77+
INCLUDE ${FIREBASE_FLATBUFFERS_DEPENDENCIES}
78+
INCLUDE_PREFIX "app"
79+
)
7980

8081
set(log_common_SRCS
8182
src/log.cc
@@ -293,7 +294,6 @@ add_library(firebase_app STATIC
293294
${internal_HDRS}
294295
${utility_HDRS}
295296
${app_platform_HDRS}
296-
${FIREBASE_GEN_FILE_DIR}/app/google_services_generated.h
297297
memory/atomic.h
298298
meta/move.h
299299
memory/unique_ptr.h
@@ -326,6 +326,7 @@ target_link_libraries(firebase_app
326326
PRIVATE
327327
flatbuffers
328328
${LIBSECRET_LIBRARIES}
329+
generate_app_fbs
329330
)
330331
# Automatically include headers that might not be declared.
331332
if(MSVC)

app/instance_id/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,12 @@ enable_language(CXX)
2424
# Build the iid_data_generated.h header from the flatbuffer schema file.
2525
set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
2626
"--no-union-value-namespacing"
27+
"--gen-generated"
2728
"--gen-object-api"
2829
"--cpp-ptr-type" "firebase::UniquePtr")
30+
# Because of a bug in the version of Flatbuffers we are pinned to,
31+
# additional flags need to be set.
32+
set(FLATC_ARGS "${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}")
2933
build_flatbuffers("${CMAKE_CURRENT_LIST_DIR}/iid_data.fbs"
3034
""
3135
"iid_data_generated_includes"

app/rest/tests/CMakeLists.txt

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,16 @@ include(binary_to_array)
1616

1717
set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
1818
"--no-union-value-namespacing"
19+
"--gen-generated"
1920
"--gen-object-api"
2021
"--cpp-ptr-type" "flatbuffers::unique_ptr")
21-
build_flatbuffers("${CMAKE_CURRENT_LIST_DIR}/testdata/sample.fbs"
22-
""
23-
"app_rest_generated_includes"
24-
"${FIREBASE_FLATBUFFERS_DEPENDENCIES}"
25-
"${FIREBASE_GEN_FILE_DIR}/app/rest"
26-
""
27-
"")
22+
flatbuffers_generate_headers(
23+
TARGET generate_app_rest_tests_fbs
24+
SCHEMAS "${CMAKE_CURRENT_LIST_DIR}/testdata/sample.fbs"
25+
FLAGS ${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}
26+
INCLUDE ${FIREBASE_FLATBUFFERS_DEPENDENCIES}
27+
INCLUDE_PREFIX "app/rest"
28+
)
2829

2930
binary_to_array("sample_resource"
3031
"${CMAKE_CURRENT_LIST_DIR}/testdata/sample.fbs"
@@ -34,14 +35,18 @@ binary_to_array("sample_resource"
3435
add_library(sample_resource_lib STATIC
3536
${sample_resource_source}
3637
${sample_resource_header}
37-
${FIREBASE_GEN_FILE_DIR}/app/rest/sample_generated.h
3838
)
3939

4040
target_include_directories(sample_resource_lib
4141
PUBLIC
4242
${FLATBUFFERS_SOURCE_DIR}/include
4343
)
4444

45+
target_link_libraries(sample_resource_lib
46+
PUBLIC
47+
generate_app_rest_tests_fbs
48+
)
49+
4550
firebase_cpp_cc_test(firebase_app_rest_request_test
4651
SOURCES
4752
request_test.h

auth/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ set(flatbuffer_schemas
3737
${CMAKE_CURRENT_LIST_DIR}/src/desktop/rpcs/request.fbs
3838
${CMAKE_CURRENT_LIST_DIR}/src/desktop/rpcs/response.fbs
3939
${CMAKE_CURRENT_LIST_DIR}/src/desktop/user_data.fbs)
40+
# Because of a bug in the version of Flatbuffers we are pinned to,
41+
# additional flags need to be set.
42+
set(FLATC_ARGS "${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}")
4043
build_flatbuffers("${flatbuffer_schemas}"
4144
""
4245
"generate_request_fbs"

cmake/external/firestore.cmake

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,12 @@ if(TARGET firestore)
1818
return()
1919
endif()
2020

21-
# Pin to the first revision that includes these changes:
22-
# https://github.com/firebase/firebase-ios-sdk/pull/5052
23-
#
24-
# These changes are required for the firebase-ios-sdk build to interoperate
25-
# well with a wrapper build that also uses googletest. Once M67 iOS
26-
# releases with that change, this should point to the Firestore release tag.
27-
set(version a568a96f7e6cf26f74d3c04892d02c4a218d5566)
21+
set(version Firestore-1.13.0)
2822

2923
ExternalProject_Add(
3024
firestore
3125

3226
DOWNLOAD_DIR ${FIREBASE_DOWNLOAD_DIR}
33-
DOWNLOAD_NAME firestore-${version}.tar.gz
3427
URL https://github.com/firebase/firebase-ios-sdk/archive/${version}.tar.gz
3528

3629
PREFIX ${PROJECT_BINARY_DIR}

database/CMakeLists.txt

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,23 @@ set(desktop_flatbuffers_schemas
7474
"${desktop_flatbuffers_schema_dir}/persisted_query_spec.fbs"
7575
"${desktop_flatbuffers_schema_dir}/persisted_tracked_query.fbs"
7676
"${desktop_flatbuffers_schema_dir}/persisted_user_write_record.fbs")
77-
78-
flatbuffers_generate_headers(
79-
TARGET desktop_flatbuffers
80-
INCLUDE "${CMAKE_CURRENT_LIST_DIR}"
81-
INCLUDE_PREFIX "database/src/desktop/persistence"
82-
SCHEMAS ${desktop_flatbuffers_schemas})
77+
set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
78+
"--no-union-value-namespacing"
79+
"--gen-generated"
80+
"--gen-object-api"
81+
"--cpp-ptr-type" "flatbuffers::unique_ptr")
82+
# Because of a bug in the version of Flatbuffers we are pinned to,
83+
# additional flags need to be set.
84+
set(FLATC_ARGS "${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}")
85+
set(DATABASE_PERSISTENCE_GEN_DIR
86+
"${FIREBASE_GEN_FILE_DIR}/database/src/desktop/persistence")
87+
build_flatbuffers("${desktop_flatbuffers_schemas}"
88+
"${CMAKE_CURRENT_LIST_DIR}"
89+
"database_persistence_generated_includes"
90+
"${FIREBASE_FLATBUFFERS_DEPENDENCIES}"
91+
"${DATABASE_PERSISTENCE_GEN_DIR}"
92+
""
93+
"")
8394

8495
# Source files used by the desktop implementation.
8596
set(desktop_SRCS
@@ -130,7 +141,12 @@ set(desktop_SRCS
130141
src/desktop/view/limited_filter.cc
131142
src/desktop/view/ranged_filter.cc
132143
src/desktop/view/view.cc
133-
src/desktop/view/view_processor.cc)
144+
src/desktop/view/view_processor.cc
145+
${DATABASE_PERSISTENCE_GEN_DIR}/persisted_compound_write_generated.h
146+
${DATABASE_PERSISTENCE_GEN_DIR}/persisted_query_params_generated.h
147+
${DATABASE_PERSISTENCE_GEN_DIR}/persisted_query_spec_generated.h
148+
${DATABASE_PERSISTENCE_GEN_DIR}/persisted_tracked_query_generated.h
149+
${DATABASE_PERSISTENCE_GEN_DIR}/persisted_user_write_record_generated.h)
134150

135151
if(ANDROID)
136152
set(database_platform_SRCS
@@ -165,7 +181,6 @@ else()
165181

166182
set(additional_link_LIB
167183
flatbuffers
168-
desktop_flatbuffers
169184
firebase_rest_lib
170185
${OPENSSL_CRYPTO_LIBRARY}
171186
leveldb

database/src/desktop/query_desktop.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ class SingleValueEventRegistration : public ValueEventRegistration {
136136
}
137137
}
138138

139-
void FireCancelEvent(Error error) {
139+
void FireCancelEvent(Error error) override {
140140
MutexLock lock(*listener_mutex_);
141141
if (single_listener_holder_ && *single_listener_holder_) {
142142
single_listener_holder_ = nullptr;

firestore/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ target_link_libraries(firebase_firestore
184184
if(FIRESTORE_USE_EXTERNAL_CMAKE_BUILD)
185185
target_link_libraries(firebase_firestore
186186
PRIVATE
187-
firebase_firestore_api
187+
firestore_core
188188
)
189189
endif()
190190

messaging/CMakeLists.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,18 @@
1717
# Build the generated header from the flatbuffer schema files.
1818
set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
1919
"--no-union-value-namespacing"
20+
"--gen-generated"
2021
"--gen-object-api"
2122
"--cpp-ptr-type" "flatbuffers::unique_ptr")
2223
set(flatbuffer_schemas
2324
${CMAKE_CURRENT_LIST_DIR}/src/android/schemas/messaging.fbs)
24-
build_flatbuffers("${flatbuffer_schemas}"
25-
""
26-
"generate_messaging_fbs"
27-
"${FIREBASE_FLATBUFFERS_DEPENDENCIES}"
28-
"${FIREBASE_GEN_FILE_DIR}/messaging"
29-
""
30-
"")
25+
flatbuffers_generate_headers(
26+
TARGET generate_messaging_fbs
27+
SCHEMAS "${flatbuffer_schemas}"
28+
FLAGS ${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}
29+
INCLUDE ${FIREBASE_FLATBUFFERS_DEPENDENCIES}
30+
INCLUDE_PREFIX "messaging"
31+
)
3132

3233
# Common source files used by all platforms
3334
set(common_SRCS
@@ -36,7 +37,6 @@ set(common_SRCS
3637

3738
# Source files used by the Android implementation.
3839
set(android_SRCS
39-
${FIREBASE_GEN_FILE_DIR}/messaging/messaging_generated.h
4040
src/android/cpp/message_reader.cc
4141
src/android/cpp/message_reader.h
4242
src/android/cpp/messaging.cc)
@@ -76,6 +76,7 @@ if(ANDROID)
7676
target_link_libraries(firebase_messaging
7777
PRIVATE
7878
flatbuffers
79+
generate_messaging_fbs
7980
)
8081
endif()
8182
# Public headers all refer to each other relative to the src/include directory,

testing/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ set(FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS
2626
"--no-union-value-namespacing"
2727
"--gen-object-api"
2828
"--cpp-ptr-type" "flatbuffers::unique_ptr")
29+
# Because of a bug in the version of Flatbuffers we are pinned to,
30+
# additional flags need to be set.
31+
set(FLATC_ARGS "${FLATBUFFERS_FLATC_SCHEMA_EXTRA_ARGS}")
2932
build_flatbuffers("${CMAKE_CURRENT_LIST_DIR}/testdata_config.fbs"
3033
""
3134
"generate_testing_fps"

0 commit comments

Comments
 (0)