Skip to content

Conversation

@kendalharland
Copy link

Testing

Presubmit workflow

Type of Change

Place an x the applicable box:

  • Bug fix. Add the issue # below if applicable.
  • New feature. A non-breaking change which adds functionality.
  • Other, such as a build process or documentation change.

compnerd and others added 30 commits May 8, 2024 14:31
The C++ Interop efforts in Swift currently have some limitations. In particular, it cannot support trivial types with non-trivial destructors. As a workaround, provide a copy constructor which can be used by the Swift interop while using the regular semantics for all other cases. A second issue arises in the handling of futures. Unfortunately, it is not currently possible to pass an indirect block parameter which prevents the construction of a callback. Workaround this by providing an inline shim to use a direct parameter (i.e. indirect value through a pointer) which then allows a callback to be formed. Both of these items are being tracked upstream but seem to be potentially sufficient to enable the use of Swift for using the C++ SDK for desktop scenarios.
This adds a minimal build of firebase statically for use with Swift on Windows to provide the required base libraries. We build a release only build intended for re-distribution as a basis for building a library to access the Firebase APIs from Swift.
Fix repository URL
Correct enclosing namespace for `Firestore`.
Distribute firestore dependency headers
Enable support for ARM64. Add a matrix to allow building the x64 and ARM64 slices of the SDK.
Indicate that the build is performed in CI, explicitly disable the static MSVC library linkage.
Use explicit path to python interpreter.
Ensure that we use the same python version across the sub-builds as `Python3_EXECUTABLE` can be explicitly passed to control the version of python in use.
We would like to cross-compile to ARM64, so we need to ensure that we disable the flatc build.
Prebuild flatc manually and use that to build the flatbuffer code. This should help us with the cross-compilation for ARM64.
This pins the flatc build to the same revision that will be used in the build of firebase.
Enable CMP0141 to allow us to embed debug information for Firebase.
Reference some types so that they are included in the CXX module.
This introduces an initial nuget packaging for simpler distribution of the artifacts.
This will publish the package to ease the consumption of it in the client.
Remove an extraneous `include` in the path.
Add missing `firebase_util.lib` to the packaging. Thanks to @jeffdav for identifying the missing library.
compnerd and others added 11 commits May 8, 2024 14:31
Correct the library name to `firestore_util.lib`.
…Bs in the BCNY windows build (#20) * [windows][build] add a helper script to adjust MSVC debug flags to be Z7 instead of Zi * [bcny][gh workflow] build firebase with /Z7 for embedded debug information on windows * roll back to the mainline branch
The release artifacts are very helpful for running other GHA pipelines (e.g. swift-firebase). Automate the release creation to avoid having to manually upload the release content.
Use `std::vector<_>::const_iterator` for the typealias to allow building with different C++ standard libraries. This is required to enable the use of the package for Android platforms.
* Enable C++ standard exception handling for windows build * Disable exception handling altogether --------- Co-authored-by: kendal <kendal@thebrowser.company>
* [cmake] Target AXV2 ISA when building for AMD64 Targeting AXV2 is the closest we can get to targeting Haswell when compiling with msvc. See DEVIN-1142 for more context. * Make changes in bcny-firebase.yml instead of CMakeLists.txt --------- Co-authored-by: kendal <kendal@thebrowser.company>
This reverts commit a37ec70. Co-authored-by: kendal <kendal@thebrowser.company>
Co-authored-by: kendal <kendal@thebrowser.company>
Changes: - Adds `FIREBASE_INCLUDE_{FUNCTIONS,STORAGE}` defines to the `cmake` build. - Includes corresponding header files in the nuget package. - Includes generated libs in the nuget package. - Removes `upb.lib` which appears to no longer be generated.
Skip actions/upload for nuget pkg when workflow_dispatch Co-authored-by: kendal <kendal@thebrowser.company>
@google-cla
Copy link

google-cla bot commented May 9, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@kendalharland
Copy link
Author

Gha, sorry! Wrong repository again.

@firebase firebase locked and limited conversation to collaborators Jun 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

7 participants