Skip to content

merge master + namespace fixup #2117

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 115 commits into from
Nov 27, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
5e33153
Allow for custom domains in the FDL iOS SDK
dmandar Oct 15, 2018
8656130
Merge remote-tracking branch 'firebaseprivate/dl-custom-domains' into…
dmandar Oct 16, 2018
0e16e6c
Fix style. Run ./scripts/style.sh
dmandar Oct 16, 2018
e41acdb
style
paulb777 Oct 17, 2018
9fe54ed
Update versions for Release 5.11.0
ryanwilson Oct 17, 2018
91297fd
Update Firestore Generated Protos (#1972)
schmidt-sebastian Oct 19, 2018
8680441
Remove cruft from project file (#1975)
paulb777 Oct 21, 2018
1dea38c
Lock reads and writes to session map
morganchen12 Oct 19, 2018
ece6b3d
Changed FDL to use compatible __typeof__() operator. (#1982)
Oct 22, 2018
45eaf73
Changed FDL to use compatible __typeof__() operator. (#1982)
Oct 22, 2018
614de80
Bump DynamicLinks patch version
paulb777 Oct 22, 2018
e0a37a9
Merge pull request #1984 from firebase/pb-dl-311
paulb777 Oct 22, 2018
53a2ef3
Add FDL to release manifest
paulb777 Oct 22, 2018
b68f0f9
Merge pull request #1970 from morganchen12/urlsession
morganchen12 Oct 23, 2018
5cfe567
Bump GoogleUtilities patch version to deliver fix for #1964 (#1987)
paulb777 Oct 23, 2018
8de5cb2
Wrap diagnostics notification in collection flag check. (#1979)
ryanwilson Oct 23, 2018
b192fd7
Queue Storage Tasks on separate queue (#1981)
schmidt-sebastian Oct 23, 2018
76a51a5
Increase timeout for testDispatchAfterDelay (#1988)
paulb777 Oct 23, 2018
58b3c08
Update Storage Changelog (#1989)
schmidt-sebastian Oct 23, 2018
44596ad
Add missing FirebaseStorage release note (#1990)
paulb777 Oct 23, 2018
69b17eb
Allow semicolon in file name (#1991)
schmidt-sebastian Oct 23, 2018
ef5949d
Remove unnecessary notification flag (#1993)
ryanwilson Oct 24, 2018
4c50de6
Reduce singleton usage in FIRApp tests. (#1995)
ryanwilson Oct 24, 2018
420dfc2
Comply with c99 standard (#1992)
paulb777 Oct 24, 2018
1d1dd64
Use C99-compatible __typeof__ instead of typeof (#1985)
wilhuff Oct 24, 2018
ec748a5
Merge branch 'master' into release-5.11.0
ryanwilson Oct 24, 2018
abe27db
Merge pull request #2000 from firebase/release-5.11.0
ryanwilson Oct 24, 2018
77f1bee
Adding AppCode Diff (#1996)
schmidt-sebastian Oct 24, 2018
486aa3f
Remove warning (#1999)
wilhuff Oct 24, 2018
648976a
Add InAppMessaging to Carthage template (#2006)
paulb777 Oct 25, 2018
fc2c234
Restore SafariServices framework (#2002)
paulb777 Oct 25, 2018
7d5add3
Force Firestore to conform to C99 and C++11. (#2001)
wilhuff Oct 25, 2018
b032ccc
Changing the internal testing repo (#2003)
davidair Oct 25, 2018
b869115
Clean up test. The issue has already been fixed and we are now runnin…
zxu123 Oct 25, 2018
a514bd9
gRPC: replace Objective-C implementation with the new C++ implementat…
var-const Oct 26, 2018
03a0b0b
Add component system documentation.
ryanwilson Oct 26, 2018
049ba69
Fixed markdown layout issue.
ryanwilson Oct 26, 2018
44d5a0e
Remove trailing whitespaces.
ryanwilson Oct 26, 2018
020c8a0
Merge branch 'rw-component-instructions' of github.com:firebase/fireb…
ryanwilson Oct 26, 2018
07b7ed8
Add table of contents.
ryanwilson Oct 26, 2018
c8c7a04
Remove extra parentheses from TOC.
ryanwilson Oct 26, 2018
b2ba185
Renamed SDKs to frameworks and products for accuracy.
ryanwilson Oct 26, 2018
5a15cf9
Updated the Carthage installation instructions (#2012)
clacladev Oct 26, 2018
9aaef71
Merge pull request #2010 from firebase/rw-component-instructions
ryanwilson Oct 26, 2018
f54b981
Add Rome instructions (#2014)
paulb777 Oct 26, 2018
5e37beb
Attempt to fix frequent Auth Unit Test flake on OSX (#2017)
paulb777 Oct 29, 2018
92a57d7
Increase timeouts in attempt to eliminate travis flakes (#2016)
paulb777 Oct 29, 2018
ea076e3
Don't rely on test always being in foreground (#2021)
paulb777 Oct 29, 2018
dd36990
Fix log overflow in continuous fuzz testing (#2020)
var-const Oct 30, 2018
c063147
Assign the default app before posting notifications. (#2024)
ryanwilson Oct 30, 2018
9df8ea0
Update CHANGELOG for Firestore v0.14.0 (#2025)
wilhuff Oct 31, 2018
0b054d0
M37 Core release notes (#2027)
paulb777 Oct 31, 2018
043df08
Add changelog to GoogleUtilities
morganchen12 Oct 31, 2018
07362ec
Merge pull request #2028 from morganchen12/gulchangelist
morganchen12 Oct 31, 2018
7e5ba60
Fix static analysis warning in Core. (#2034)
ryanwilson Nov 1, 2018
f16cd0e
Update CHANGELOG.md for #2034 (#2035)
ryanwilson Nov 1, 2018
ea567dc
Revert "gRPC: replace Objective-C implementation with the new C++ imp…
wilhuff Nov 1, 2018
b2437b8
Partially revert "Update CHANGELOG for Firestore v0.14.0 (#2025)" (#2…
wilhuff Nov 1, 2018
6be1ddb
Move #2034 into 5.12.0 (#2036)
paulb777 Nov 1, 2018
5bc4cc5
Remove Held Write Acks (#2029)
schmidt-sebastian Nov 1, 2018
4e19ebe
Held Write Acks Changelog (#2037)
schmidt-sebastian Nov 1, 2018
b9cc615
Fix tablet layout for in-app messaging (#2032)
christibbs Nov 1, 2018
fc3546c
Address travis timeout flakes (#2033)
paulb777 Nov 1, 2018
57ba705
Delete deprecated files (#2038)
paulb777 Nov 1, 2018
5026453
Add missing nanopb flag (#2042)
paulb777 Nov 2, 2018
3e2d705
Fix auth multi app support (#2043)
renkelvin Nov 3, 2018
7e5befc
Isolate Firestore nanopb messages in C++ namespaces (#2046)
wilhuff Nov 5, 2018
c27db6d
Fix analyze errors (#2047)
paulb777 Nov 5, 2018
e77ba8c
Release 5.12.0 (#2051)
paulb777 Nov 6, 2018
1291b03
Remove Mutation tombstones (#2052)
schmidt-sebastian Nov 6, 2018
4aaf908
Porting Multi-Tab Structural Changes (#2049)
schmidt-sebastian Nov 7, 2018
afa6619
Delete Firestore public C++ API (#2050)
wilhuff Nov 7, 2018
70ee457
Add clang-format installation instructions (#2057)
paulb777 Nov 7, 2018
407f5d6
Update Auth samples to sync with internal changes (#2056)
paulb777 Nov 7, 2018
c2fd8d1
Add a nanopb string (#1839)
wilhuff Nov 8, 2018
bb95429
FIRApp is already configured. Remove duplicate configure call. This F…
dmandar Nov 8, 2018
1c89842
Invalidate non-background url sessions
morganchen12 Nov 8, 2018
fb9639a
Run style
morganchen12 Nov 8, 2018
f250f50
Update abseil to master@{2018-11-06} (#2058)
wilhuff Nov 9, 2018
7ad4543
Port code review changes from google3
morganchen12 Nov 9, 2018
b112d90
Amend changelog
morganchen12 Nov 9, 2018
15f5d46
Minor edits: change domain names in test app plist, fix warnings.
dmandar Nov 9, 2018
e85b0c7
Fix warning.
dmandar Nov 10, 2018
5d8431c
Merge branch 'master' into md-fdl
dmandar Nov 10, 2018
3303750
Fix style.
dmandar Nov 11, 2018
3531f3f
Merge branch 'master' into md-fdl
dmandar Nov 12, 2018
bf1ce88
Merge pull request #1962 from firebase/md-fdl
dmandar Nov 12, 2018
3dbcead
Merge pull request #2061 from morganchen12/gulchangelist
morganchen12 Nov 12, 2018
b508201
Adding Numeric Add Proto message (#2064)
schmidt-sebastian Nov 12, 2018
ab57eed
Adding base_writes proto field (#2066)
schmidt-sebastian Nov 13, 2018
829b9f5
Update the GULObjectSwizzler to handle NSProxy objects (#2053)
tejasd Nov 13, 2018
12bdfc8
GoogleUtilities 5.3.5 (#2067)
paulb777 Nov 13, 2018
8b1efab
gRPC: replace Objective-C implementation with the new C++ implementat…
var-const Nov 13, 2018
5038e26
Fix `string_view` referring to an out-of-scope string (#2074)
var-const Nov 14, 2018
d917bac
Allow setting the domainURIPrefix for custom domain names/paths when …
dmandar Nov 14, 2018
c14a36d
Release manifest for 5.13.0 (#2076)
davidair Nov 14, 2018
cda79a8
Renaming manifest (#2077)
davidair Nov 14, 2018
ceb8392
Add warning for deprecated API to indicate that the passed in domain …
dmandar Nov 14, 2018
2cb236c
Fix GoogleUtilities nullability regressions (#2079)
paulb777 Nov 15, 2018
35c3a8c
Remove `adjustsFontForContentSizeCategory` (unsupported in iOS 10.0) …
christibbs Nov 15, 2018
850440c
Add pod spec lint testing for Xcode 9 (#2084)
paulb777 Nov 16, 2018
1fce057
FirebaseAnalyticsInterop is cross-platform (#2088)
paulb777 Nov 16, 2018
e0d7975
C++: eliminate `FSTDispatchQueue` and replace it with `AsyncQueue` (#…
var-const Nov 18, 2018
4090195
Database Interop (#1865)
bstpierr Nov 19, 2018
50d27eb
Revert "Database Interop (#1865)" (#2093)
bstpierr Nov 19, 2018
46cb564
Revert premature api changes (#2097)
paulb777 Nov 19, 2018
a1966bb
Add test for verify iOS client (#2096)
renkelvin Nov 19, 2018
20a0bda
Release 5.13.0 (#2101)
davidair Nov 20, 2018
1a28f17
Pin gRPC-C++ version to exactly 0.0.5 (#2105)
var-const Nov 21, 2018
54659e8
Database Interop Rollforward (#2095)
bstpierr Nov 22, 2018
16af0f1
Prefer roots.pem from gRPC-C++, but fall back to Firestore bundled on…
var-const Nov 22, 2018
0540361
Add Firebase Source to Header Search Path (#2114)
bstpierr Nov 22, 2018
f66b5b5
Implement PatchMutation::ApplyToLocalView (#1973)
rsgowman Nov 23, 2018
e8d7c5f
Merge remote-tracking branch 'origin/master' into rsgowman/merge_mast…
rsgowman Nov 23, 2018
f650988
Test namespacing fixup
rsgowman Nov 23, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
31 changes: 31 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,37 @@ jobs:
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD

# Xcode 9 may find lint errors that don't show up in Xcode 10 (#2081)
- stage: test
osx_image: xcode9.4
env:
- PROJECT=Firebase PLATFORM=iOS METHOD=pod-lib-lint
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
script:
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh GoogleUtilities.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseCore.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseAnalyticsInterop.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseAuth.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseAuthInterop.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseDatabase.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseDynamicLinks.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseMessaging.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseStorage.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseFunctions.podspec
- ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseInAppMessagingDisplay.podspec

- stage: test
osx_image: xcode9.4
env:
- PROJECT=Firestore PLATFORM=iOS METHOD=pod-lib-lint
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
script:
# Eliminate the one warning from BoringSSL when CocoaPods 1.6.0 is available.
# The travis_wait is necessary because the command takes more than 10 minutes.
- travis_wait ./scripts/if_changed.sh ./scripts/pod_lib_lint.sh FirebaseFirestore.podspec --allow-warnings --no-subspecs

# Community-supported platforms

- stage: test
Expand Down
24 changes: 14 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,12 @@ set(
CACHE PATH "Where to store downloaded files"
)

set(
FIREBASE_EXTERNAL_SOURCE_DIR
${FIREBASE_BINARY_DIR}/external/src
CACHE PATH "Root directory of source code of the external dependencies"
)

download_external_sources()


Expand All @@ -81,20 +87,20 @@ add_external_subdirectory(benchmark)
# Abseil-cpp
# Force disable Abseil's tests, which don't compile under VS2017.
set(old_build_testing ${BUILD_TESTING})
set(BUILD_TESTING OFF CACHE BOOL "Disable Abseil tests" FORCE)
set(ABSL_RUN_TESTS OFF CACHE BOOL "Disable Abseil tests" FORCE)
add_subdirectory(
Firestore/third_party/abseil-cpp
EXCLUDE_FROM_ALL
)
set(BUILD_TESTING ${old_build_testing} CACHE BOOL "Restore BUILD_TESTING" FORCE)


# gRPC
find_package(OpenSSL)
find_package(OpenSSL QUIET)
if(OPENSSL_FOUND)
set(gRPC_SSL_PROVIDER package CACHE STRING "Use external OpenSSL")
endif()

find_package(ZLIB)
find_package(ZLIB QUIET)
if(ZLIB_FOUND)
set(gRPC_ZLIB_PROVIDER package CACHE STRING "Use external ZLIB")
endif()
Expand All @@ -103,8 +109,6 @@ set(gRPC_BUILD_TESTS OFF CACHE BOOL "Disable gRPC tests")
add_external_subdirectory(grpc)

# Fix up targets included by gRPC's build
set(external_src_dir ${FIREBASE_BINARY_DIR}/external/src)

if(OPENSSL_FOUND)
# gRPC's CMakeLists.txt does not account for finding OpenSSL in a directory
# that's not in the default search path.
Expand All @@ -127,14 +131,14 @@ else()
target_include_directories(
crypto
INTERFACE
$<BUILD_INTERFACE:${external_src_dir}/grpc/third_party/boringssl/include>
$<BUILD_INTERFACE:${FIREBASE_EXTERNAL_SOURCE_DIR}/grpc/third_party/boringssl/include>
)

add_alias(OpenSSL::SSL ssl)
target_include_directories(
ssl
INTERFACE
$<BUILD_INTERFACE:${external_src_dir}/grpc/third_party/boringssl/include>
$<BUILD_INTERFACE:${FIREBASE_EXTERNAL_SOURCE_DIR}/grpc/third_party/boringssl/include>
)
endif()

Expand All @@ -156,7 +160,7 @@ endif()
if(NOT ZLIB_FOUND)
target_include_directories(
zlibstatic
INTERFACE $<BUILD_INTERFACE:${external_src_dir}/grpc/third_party/zlib>
INTERFACE $<BUILD_INTERFACE:${FIREBASE_EXTERNAL_SOURCE_DIR}/grpc/third_party/zlib>
)
endif()

Expand Down Expand Up @@ -186,7 +190,7 @@ target_compile_definitions(

target_include_directories(
protobuf-nanopb
INTERFACE $<BUILD_INTERFACE:${external_src_dir}/nanopb>
INTERFACE $<BUILD_INTERFACE:${FIREBASE_EXTERNAL_SOURCE_DIR}/nanopb>
)


Expand Down
7 changes: 1 addition & 6 deletions Example/Auth/ApiTests/FirebaseAuthApiTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@

#ifdef NO_NETWORK
#import "ITUIOSTestUtil.h"
#import "ioReplayer/IORManager.h"
#import "ioReplayer/IORTestCase.h"
#endif

#import <GTMSessionFetcher/GTMSessionFetcher.h>
Expand Down Expand Up @@ -93,11 +91,8 @@
#define SKIP_IF_ON_MOBILE_HARNESS
#endif

#ifdef NO_NETWORK
@interface ApiTests : IORTestCase
#else
@interface ApiTests : XCTestCase
#endif

@end

@implementation ApiTests
Expand Down
89 changes: 89 additions & 0 deletions Example/Auth/EarlGreyTests/FIRVerifyIOSClientTests.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
/*
* Copyright 2018 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.
*/

#import <XCTest/XCTest.h>
#import <EarlGrey/EarlGrey.h>
#import <FirebaseCore/FIRApp.h>
#import "FirebaseAuth.h"

static CGFloat const kShortScrollDistance = 100;

static NSTimeInterval const kWaitForElementTimeOut = 15;

@interface FIRVerifyIOSClientTests : XCTestCase
@end

/** Convenience function for EarlGrey tests. */
static id<GREYMatcher> grey_scrollView(void) {
return [GREYMatchers matcherForKindOfClass:[UIScrollView class]];
}

@implementation FIRVerifyIOSClientTests

/** To reset the app so that each test sees the app in a clean state. */
- (void)setUp {
[super setUp];

[self signOut];

[[EarlGrey selectElementWithMatcher:grey_allOf(grey_scrollView(),
grey_kindOfClass([UITableView class]), nil)]
performAction:grey_scrollToContentEdge(kGREYContentEdgeTop)];
}

#pragma mark - Tests

/** Test verify ios client*/
- (void)testVerifyIOSClient {
[[[EarlGrey selectElementWithMatcher:grey_allOf(grey_text(@"Verify iOS client"),
grey_sufficientlyVisible(), nil)]
usingSearchAction:grey_scrollInDirection(kGREYDirectionDown, kShortScrollDistance)
onElementWithMatcher:grey_allOf(grey_scrollView(), grey_kindOfClass([UITableView class]),
nil)] performAction:grey_tap()];

[self waitForElementWithText:@"OK" withDelay:kWaitForElementTimeOut];

[[EarlGrey selectElementWithMatcher:grey_text(@"OK")] performAction:grey_tap()];
}

#pragma mark - Helpers

/** Sign out current account. */
- (void)signOut {
NSError *signOutError;
BOOL status = [[FIRAuth auth] signOut:&signOutError];

// Just log the error because we don't want to fail the test if signing out fails.
if (!status) {
NSLog(@"Error signing out: %@", signOutError);
}
}

/** Wait for an element with text to appear. */
- (void)waitForElementWithText:(NSString *)text withDelay:(NSTimeInterval)maxDelay {
GREYCondition *displayed =
[GREYCondition conditionWithName:@"Wait for element"
block:^BOOL {
NSError *error = nil;
[[EarlGrey selectElementWithMatcher:grey_text(text)]
assertWithMatcher:grey_sufficientlyVisible()
error:&error];
return !error;
}];
GREYAssertTrue([displayed waitWithTimeout:maxDelay], @"Failed to wait for element '%@'.", text);
}

@end
16 changes: 4 additions & 12 deletions Example/Auth/EarlGreyTests/FirebaseAuthEarlGreyTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@
#import <FirebaseCore/FIRApp.h>
#import "FirebaseAuth.h"

#ifdef NO_NETWORK
#import "ioReplayer/IORTestCase.h"
#endif

/** The url for obtaining a valid custom token string used to test BYOAuth. */
static NSString *const kCustomTokenUrl = @"https://fb-sa-1211.appspot.com/token";

Expand All @@ -38,15 +34,11 @@

static NSTimeInterval const kWaitForElementTimeOut = 5;

#ifdef NO_NETWORK
@interface BasicUITest : IORTestCase
#else
@interface BasicUITest :XCTestCase
#endif
@end

/** Convenience function for EarlGrey tests. */
id<GREYMatcher> grey_scrollView(void) {
static id<GREYMatcher> grey_scrollView(void) {
return [GREYMatchers matcherForKindOfClass:[UIScrollView class]];
}

Expand All @@ -60,7 +52,7 @@ - (void)setUp {

[[EarlGrey selectElementWithMatcher:grey_allOf(grey_scrollView(),
grey_kindOfClass([UITableView class]), nil)]
performAction:grey_scrollToContentEdge(kGREYContentEdgeTop)];
performAction:grey_scrollToContentEdge(kGREYContentEdgeTop)];
}

#pragma mark - Tests
Expand Down Expand Up @@ -156,8 +148,7 @@ - (void)testSignInWithInvalidBYOAuthToken {

[[EarlGrey selectElementWithMatcher:grey_text(@"Done")] performAction:grey_tap()];

NSString *invalidTokenErrorMessage =
@"The custom token format is incorrect. Please check the documentation.";
NSString *invalidTokenErrorMessage = @"Sign-In Error";

[self waitForElementWithText:invalidTokenErrorMessage withDelay:kWaitForElementTimeOut];

Expand Down Expand Up @@ -190,4 +181,5 @@ - (void)waitForElementWithText:(NSString *)text withDelay:(NSTimeInterval)maxDel
}];
GREYAssertTrue([displayed waitWithTimeout:maxDelay], @"Failed to wait for element '%@'.", text);
}

@end
6 changes: 0 additions & 6 deletions Example/Auth/Sample/AppManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,6 @@

NS_ASSUME_NONNULL_BEGIN

// Declares a private method of FIRInstanceID to work around a bug.
@interface FIRInstanceID : NSObject
+ (void)notifyTokenRefresh;
@end

@implementation AppManager {
/** @var _createdAppNames
@brief The set of names of live (created but not deleted) app, to avoid iCore warnings.
Expand Down Expand Up @@ -59,7 +54,6 @@ - (void)recreateAppAtIndex:(int)index
completion:(void (^)())completion {
[self deleteAppAtIndex:index completion:^() {
if (index == 0) {
[FIRInstanceID notifyTokenRefresh]; // b/28967043
if (options) {
[FIRApp configureWithOptions:options];
}
Expand Down
Loading