From d70a20be53eb8cb48f52789cb434cb3db83348fc Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 12 Sep 2024 14:00:23 +0100 Subject: [PATCH 01/74] chore(firestore): initial SPM move --- .../Sources/cloud_firestore}/FLTDocumentSnapshotStreamHandler.m | 0 .../Sources/cloud_firestore}/FLTFirebaseFirestoreExtension.m | 0 .../Sources/cloud_firestore}/FLTFirebaseFirestorePlugin.m | 0 .../Sources/cloud_firestore}/FLTFirebaseFirestoreReader.m | 0 .../Sources/cloud_firestore}/FLTFirebaseFirestoreUtils.m | 0 .../Sources/cloud_firestore}/FLTFirebaseFirestoreWriter.m | 0 .../Sources/cloud_firestore}/FLTLoadBundleStreamHandler.m | 0 .../Sources/cloud_firestore}/FLTQuerySnapshotStreamHandler.m | 0 .../Sources/cloud_firestore}/FLTSnapshotsInSyncStreamHandler.m | 0 .../Sources/cloud_firestore}/FLTTransactionStreamHandler.m | 0 .../Sources/cloud_firestore}/FirestoreMessages.g.m | 0 .../Sources/cloud_firestore}/FirestorePigeonParser.m | 0 .../Sources/cloud_firestore/Resources}/.gitkeep | 0 .../cloud_firestore}/Private/FLTDocumentSnapshotStreamHandler.h | 0 .../cloud_firestore}/Private/FLTFirebaseFirestoreExtension.h | 0 .../cloud_firestore}/Private/FLTFirebaseFirestoreReader.h | 0 .../cloud_firestore}/Private/FLTFirebaseFirestoreUtils.h | 0 .../cloud_firestore}/Private/FLTFirebaseFirestoreWriter.h | 0 .../cloud_firestore}/Private/FLTLoadBundleStreamHandler.h | 0 .../cloud_firestore}/Private/FLTQuerySnapshotStreamHandler.h | 0 .../cloud_firestore}/Private/FLTSnapshotsInSyncStreamHandler.h | 0 .../cloud_firestore}/Private/FLTTransactionStreamHandler.h | 2 +- .../include/cloud_firestore}/Private/FirestorePigeonParser.h | 2 +- .../cloud_firestore}/Public/CustomPigeonHeaderFirestore.h | 0 .../cloud_firestore}/Public/FLTFirebaseFirestorePlugin.h | 0 .../include/cloud_firestore}/Public/FirestoreMessages.g.h | 0 26 files changed, 2 insertions(+), 2 deletions(-) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTDocumentSnapshotStreamHandler.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTFirebaseFirestoreExtension.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTFirebaseFirestorePlugin.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTFirebaseFirestoreReader.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTFirebaseFirestoreUtils.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTFirebaseFirestoreWriter.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTLoadBundleStreamHandler.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTQuerySnapshotStreamHandler.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTSnapshotsInSyncStreamHandler.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FLTTransactionStreamHandler.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FirestoreMessages.g.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore}/FirestorePigeonParser.m (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Assets => cloud_firestore/Sources/cloud_firestore/Resources}/.gitkeep (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FLTDocumentSnapshotStreamHandler.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FLTFirebaseFirestoreExtension.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FLTFirebaseFirestoreReader.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FLTFirebaseFirestoreUtils.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FLTFirebaseFirestoreWriter.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FLTLoadBundleStreamHandler.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FLTQuerySnapshotStreamHandler.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FLTSnapshotsInSyncStreamHandler.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FLTTransactionStreamHandler.h (94%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Private/FirestorePigeonParser.h (97%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Public/CustomPigeonHeaderFirestore.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Public/FLTFirebaseFirestorePlugin.h (100%) rename packages/cloud_firestore/cloud_firestore/ios/{Classes => cloud_firestore/Sources/cloud_firestore/include/cloud_firestore}/Public/FirestoreMessages.g.h (100%) diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTDocumentSnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTDocumentSnapshotStreamHandler.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestoreExtension.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestoreExtension.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestorePlugin.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestoreReader.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestoreReader.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestoreUtils.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestoreUtils.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestoreWriter.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTFirebaseFirestoreWriter.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTLoadBundleStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTLoadBundleStreamHandler.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTQuerySnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTQuerySnapshotStreamHandler.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTSnapshotsInSyncStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTSnapshotsInSyncStreamHandler.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FLTTransactionStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FLTTransactionStreamHandler.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FirestoreMessages.g.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FirestoreMessages.g.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/FirestorePigeonParser.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/FirestorePigeonParser.m rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m diff --git a/packages/cloud_firestore/cloud_firestore/ios/Assets/.gitkeep b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Assets/.gitkeep rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTDocumentSnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTDocumentSnapshotStreamHandler.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTFirebaseFirestoreExtension.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTFirebaseFirestoreExtension.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTFirebaseFirestoreReader.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTFirebaseFirestoreReader.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTFirebaseFirestoreUtils.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTFirebaseFirestoreUtils.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTFirebaseFirestoreWriter.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTFirebaseFirestoreWriter.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTLoadBundleStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTLoadBundleStreamHandler.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTQuerySnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTQuerySnapshotStreamHandler.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTSnapshotsInSyncStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTSnapshotsInSyncStreamHandler.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTTransactionStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h similarity index 94% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTTransactionStreamHandler.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h index 55cfa1ec4903..4ba4c5d3135b 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FLTTransactionStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h @@ -10,7 +10,7 @@ #endif #import -#import "FirestoreMessages.g.h" +#import "../../../../../../Classes/Private/FirestoreMessages.g.h" #import diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FirestorePigeonParser.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h similarity index 97% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FirestorePigeonParser.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h index b459480bdc07..9044600298f0 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/Classes/Private/FirestorePigeonParser.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h @@ -6,7 +6,7 @@ #import #import -#import "FirestoreMessages.g.h" +#import "../../../../../../Classes/Private/FirestoreMessages.g.h" @interface FirestorePigeonParser : NSObject diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Public/CustomPigeonHeaderFirestore.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Public/CustomPigeonHeaderFirestore.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Public/FLTFirebaseFirestorePlugin.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Public/FLTFirebaseFirestorePlugin.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h diff --git a/packages/cloud_firestore/cloud_firestore/ios/Classes/Public/FirestoreMessages.g.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h similarity index 100% rename from packages/cloud_firestore/cloud_firestore/ios/Classes/Public/FirestoreMessages.g.h rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h From 047bf049b48488ae521c0b648dad0c13fbcbd9cc Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 12 Sep 2024 15:09:12 +0100 Subject: [PATCH 02/74] chore: initial macOS SPM --- .../{macos/Assets/.gitkeep => ios/cloud_firestore/Package.swift} | 0 .../macos/Classes/FLTDocumentSnapshotStreamHandler.m | 1 - .../macos/Classes/FLTFirebaseFirestoreExtension.m | 1 - .../cloud_firestore/macos/Classes/FLTFirebaseFirestorePlugin.m | 1 - .../cloud_firestore/macos/Classes/FLTFirebaseFirestoreReader.m | 1 - .../cloud_firestore/macos/Classes/FLTFirebaseFirestoreUtils.m | 1 - .../cloud_firestore/macos/Classes/FLTFirebaseFirestoreWriter.m | 1 - .../cloud_firestore/macos/Classes/FLTLoadBundleStreamHandler.m | 1 - .../macos/Classes/FLTQuerySnapshotStreamHandler.m | 1 - .../macos/Classes/FLTSnapshotsInSyncStreamHandler.m | 1 - .../cloud_firestore/macos/Classes/FLTTransactionStreamHandler.m | 1 - .../cloud_firestore/macos/Classes/FirestoreMessages.g.m | 1 - .../cloud_firestore/macos/Classes/FirestorePigeonParser.m | 1 - .../macos/Classes/Private/FLTDocumentSnapshotStreamHandler.h | 1 - .../macos/Classes/Private/FLTFirebaseFirestoreExtension.h | 1 - .../macos/Classes/Private/FLTFirebaseFirestoreReader.h | 1 - .../macos/Classes/Private/FLTFirebaseFirestoreUtils.h | 1 - .../macos/Classes/Private/FLTFirebaseFirestoreWriter.h | 1 - .../macos/Classes/Private/FLTLoadBundleStreamHandler.h | 1 - .../macos/Classes/Private/FLTQuerySnapshotStreamHandler.h | 1 - .../macos/Classes/Private/FLTSnapshotsInSyncStreamHandler.h | 1 - .../macos/Classes/Private/FLTTransactionStreamHandler.h | 1 - .../macos/Classes/Private/FirestorePigeonParser.h | 1 - .../macos/Classes/Public/CustomPigeonHeaderFirestore.h | 1 - .../macos/Classes/Public/FLTFirebaseFirestorePlugin.h | 1 - .../cloud_firestore/macos/Classes/Public/FirestoreMessages.g.h | 1 - .../Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m | 1 + .../Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m | 1 + .../Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m | 1 + .../Sources/cloud_firestore/FLTFirebaseFirestoreReader.m | 1 + .../Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m | 1 + .../Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m | 1 + .../Sources/cloud_firestore/FLTLoadBundleStreamHandler.m | 1 + .../Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m | 1 + .../Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m | 1 + .../Sources/cloud_firestore/FLTTransactionStreamHandler.m | 1 + .../Sources/cloud_firestore/FirestoreMessages.g.m | 1 + .../Sources/cloud_firestore/FirestorePigeonParser.m | 1 + .../cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep | 1 + .../cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h | 1 + .../cloud_firestore/Private/FLTFirebaseFirestoreExtension.h | 1 + .../include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h | 1 + .../include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h | 1 + .../include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h | 1 + .../include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h | 1 + .../cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h | 1 + .../cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h | 1 + .../cloud_firestore/Private/FLTTransactionStreamHandler.h | 1 + .../include/cloud_firestore/Private/FirestorePigeonParser.h | 1 + .../include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h | 1 + .../include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h | 1 + .../include/cloud_firestore/Public/FirestoreMessages.g.h | 1 + 52 files changed, 26 insertions(+), 25 deletions(-) rename packages/cloud_firestore/cloud_firestore/{macos/Assets/.gitkeep => ios/cloud_firestore/Package.swift} (100%) mode change 100755 => 100644 delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTDocumentSnapshotStreamHandler.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreExtension.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestorePlugin.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreReader.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreUtils.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreWriter.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTLoadBundleStreamHandler.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTQuerySnapshotStreamHandler.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTSnapshotsInSyncStreamHandler.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FLTTransactionStreamHandler.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FirestoreMessages.g.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/FirestorePigeonParser.m delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTDocumentSnapshotStreamHandler.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreExtension.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreReader.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreUtils.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreWriter.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTLoadBundleStreamHandler.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTQuerySnapshotStreamHandler.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTSnapshotsInSyncStreamHandler.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTTransactionStreamHandler.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FirestorePigeonParser.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Public/CustomPigeonHeaderFirestore.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Public/FLTFirebaseFirestorePlugin.h delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/Classes/Public/FirestoreMessages.g.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h create mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h diff --git a/packages/cloud_firestore/cloud_firestore/macos/Assets/.gitkeep b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift old mode 100755 new mode 100644 similarity index 100% rename from packages/cloud_firestore/cloud_firestore/macos/Assets/.gitkeep rename to packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTDocumentSnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTDocumentSnapshotStreamHandler.m deleted file mode 120000 index 6dd7dcbb4a9a..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTDocumentSnapshotStreamHandler.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTDocumentSnapshotStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreExtension.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreExtension.m deleted file mode 120000 index 753bbb4becaa..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreExtension.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTFirebaseFirestoreExtension.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestorePlugin.m deleted file mode 120000 index a2aa780a3d1e..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestorePlugin.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTFirebaseFirestorePlugin.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreReader.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreReader.m deleted file mode 120000 index d71bd6d120b1..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreReader.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTFirebaseFirestoreReader.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreUtils.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreUtils.m deleted file mode 120000 index d17757bb8104..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreUtils.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTFirebaseFirestoreUtils.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreWriter.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreWriter.m deleted file mode 120000 index 9b170a0183ff..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTFirebaseFirestoreWriter.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTFirebaseFirestoreWriter.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTLoadBundleStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTLoadBundleStreamHandler.m deleted file mode 120000 index 691e4a65f7e1..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTLoadBundleStreamHandler.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTLoadBundleStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTQuerySnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTQuerySnapshotStreamHandler.m deleted file mode 120000 index f05e6a9aed0d..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTQuerySnapshotStreamHandler.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTQuerySnapshotStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTSnapshotsInSyncStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTSnapshotsInSyncStreamHandler.m deleted file mode 120000 index 68f3d6ce740b..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTSnapshotsInSyncStreamHandler.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTSnapshotsInSyncStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTTransactionStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTTransactionStreamHandler.m deleted file mode 120000 index d131da4f79d2..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FLTTransactionStreamHandler.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FLTTransactionStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FirestoreMessages.g.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FirestoreMessages.g.m deleted file mode 120000 index 85c29fb8d462..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FirestoreMessages.g.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FirestoreMessages.g.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/FirestorePigeonParser.m b/packages/cloud_firestore/cloud_firestore/macos/Classes/FirestorePigeonParser.m deleted file mode 120000 index e9bb61f6611f..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/FirestorePigeonParser.m +++ /dev/null @@ -1 +0,0 @@ -../../ios/Classes/FirestorePigeonParser.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTDocumentSnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTDocumentSnapshotStreamHandler.h deleted file mode 120000 index 2cf0cae9998c..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTDocumentSnapshotStreamHandler.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FLTDocumentSnapshotStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreExtension.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreExtension.h deleted file mode 120000 index 852428011b72..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreExtension.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FLTFirebaseFirestoreExtension.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreReader.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreReader.h deleted file mode 120000 index e64672bf3166..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreReader.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FLTFirebaseFirestoreReader.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreUtils.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreUtils.h deleted file mode 120000 index de4c1d88a379..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreUtils.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FLTFirebaseFirestoreUtils.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreWriter.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreWriter.h deleted file mode 120000 index 392a28cf9ba5..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTFirebaseFirestoreWriter.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FLTFirebaseFirestoreWriter.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTLoadBundleStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTLoadBundleStreamHandler.h deleted file mode 120000 index 206844b39802..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTLoadBundleStreamHandler.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FLTLoadBundleStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTQuerySnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTQuerySnapshotStreamHandler.h deleted file mode 120000 index ae0f05acbcc1..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTQuerySnapshotStreamHandler.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FLTQuerySnapshotStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTSnapshotsInSyncStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTSnapshotsInSyncStreamHandler.h deleted file mode 120000 index f43b78c2b268..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTSnapshotsInSyncStreamHandler.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FLTSnapshotsInSyncStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTTransactionStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTTransactionStreamHandler.h deleted file mode 120000 index 392204f063c2..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FLTTransactionStreamHandler.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FLTTransactionStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FirestorePigeonParser.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FirestorePigeonParser.h deleted file mode 120000 index c74caa9f3ec9..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Private/FirestorePigeonParser.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Private/FirestorePigeonParser.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Public/CustomPigeonHeaderFirestore.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Public/CustomPigeonHeaderFirestore.h deleted file mode 120000 index 684480e0808f..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Public/CustomPigeonHeaderFirestore.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Public/CustomPigeonHeaderFirestore.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Public/FLTFirebaseFirestorePlugin.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Public/FLTFirebaseFirestorePlugin.h deleted file mode 120000 index c2aada4a605f..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Public/FLTFirebaseFirestorePlugin.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Public/FLTFirebaseFirestorePlugin.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/Classes/Public/FirestoreMessages.g.h b/packages/cloud_firestore/cloud_firestore/macos/Classes/Public/FirestoreMessages.g.h deleted file mode 120000 index ced0e7de07a6..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/Classes/Public/FirestoreMessages.g.h +++ /dev/null @@ -1 +0,0 @@ -../../../ios/Classes/Public/FirestoreMessages.g.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m new file mode 120000 index 000000000000..50692124261c --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m new file mode 120000 index 000000000000..7d568dbd72b8 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m new file mode 120000 index 000000000000..3f937ef7f25f --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m new file mode 120000 index 000000000000..85ff3fdb6d19 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m new file mode 120000 index 000000000000..43fe358f0dcf --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m new file mode 120000 index 000000000000..b8bb909a3a1e --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m new file mode 120000 index 000000000000..3649effa6699 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m new file mode 120000 index 000000000000..22c5353d51d0 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m new file mode 120000 index 000000000000..a6b4bb995c88 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m new file mode 120000 index 000000000000..d8b79c20ef63 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m new file mode 120000 index 000000000000..4c4f2622d98f --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m new file mode 120000 index 000000000000..209d05266380 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep new file mode 120000 index 000000000000..8a3f64b6bcb2 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h new file mode 120000 index 000000000000..0173d3e295ad --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h new file mode 120000 index 000000000000..9dd0452d8944 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h new file mode 120000 index 000000000000..f2e981ec0065 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h new file mode 120000 index 000000000000..175b2f2d2139 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h new file mode 120000 index 000000000000..6a01c281581c --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h new file mode 120000 index 000000000000..5899eee59821 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h new file mode 120000 index 000000000000..cd459e4797e1 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h new file mode 120000 index 000000000000..ac4d8d73bfe1 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h new file mode 120000 index 000000000000..8d51187bd803 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h new file mode 120000 index 000000000000..ded9d35a2350 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h new file mode 120000 index 000000000000..116e8c546966 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h new file mode 120000 index 000000000000..ecb3e2f9a9fc --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h new file mode 120000 index 000000000000..b0170b1f408b --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h @@ -0,0 +1 @@ +/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h \ No newline at end of file From af7ef513f23baa2895cf162481049124bc1838ab Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 12 Sep 2024 15:58:01 +0100 Subject: [PATCH 03/74] ios updates --- .../ios/cloud_firestore.podspec | 9 ++--- .../ios/cloud_firestore/Package.swift | 40 +++++++++++++++++++ 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore.podspec b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore.podspec index 36dc1227922b..0e70cf7da882 100755 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore.podspec +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore.podspec @@ -24,10 +24,9 @@ Pod::Spec.new do |s| s.license = { :file => '../LICENSE' } s.authors = 'The Chromium Authors' s.source = { :path => '.' } - - s.source_files = 'Classes/**/*.{h,m}' - s.public_header_files = 'Classes/Public/*.h' - s.private_header_files = 'Classes/Private/*.h' + s.source_files = 'cloud_firestore/Sources/cloud_firestore/**/*.{h,m}' + s.public_header_files = 'cloud_firestore/Sources/cloud_firestore/include/Public/**/*.h' + s.private_header_files = 'cloud_firestore/Sources/cloud_firestore/include/Private/**/*.h' s.ios.deployment_target = '13.0' s.dependency 'Flutter' @@ -37,7 +36,7 @@ Pod::Spec.new do |s| s.static_framework = true s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-fst\\\"", + 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-fst\\\"", 'DEFINES_MODULE' => 'YES' } end diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index e69de29bb2d1..f802150e4ce0 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -0,0 +1,40 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +// Copyright 2024, the Chromium project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import Foundation +import PackageDescription + + +let package = Package( + name: "cloud_firestore", + platforms: [ + .iOS("13.0"), + ], + products: [ + .library(name: "cloud_firestore", targets: ["cloud_firestore"]), + ], + dependencies: [ + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: "11.0.0"), + ], + targets: [ + .target( + name: "cloud_firestore", + dependencies: [ + .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), + ], + resources: [ + .process("Resources"), + ], + cSettings: [ + .headerSearchPath("include/cloud_firestore/Private"), + .headerSearchPath("include/cloud_firestore/Public"), + .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), + ] + ), + ] +) From 5871bf5f2ed9504a7a86cdbaa6a3e5883a16004c Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 12 Sep 2024 16:00:37 +0100 Subject: [PATCH 04/74] ios pigeon --- .../cloud_firestore_platform_interface/pigeons/messages.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore_platform_interface/pigeons/messages.dart b/packages/cloud_firestore/cloud_firestore_platform_interface/pigeons/messages.dart index 45f42dd233c7..54826443686f 100644 --- a/packages/cloud_firestore/cloud_firestore_platform_interface/pigeons/messages.dart +++ b/packages/cloud_firestore/cloud_firestore_platform_interface/pigeons/messages.dart @@ -17,8 +17,8 @@ import 'package:pigeon/pigeon.dart'; className: 'GeneratedAndroidFirebaseFirestore', ), objcHeaderOut: - '../cloud_firestore/ios/Classes/Public/FirestoreMessages.g.h', - objcSourceOut: '../cloud_firestore/ios/Classes/FirestoreMessages.g.m', + '../cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h', + objcSourceOut: '../cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m', cppHeaderOut: '../cloud_firestore/windows/messages.g.h', cppSourceOut: '../cloud_firestore/windows/messages.g.cpp', cppOptions: CppOptions(namespace: 'cloud_firestore_windows'), From 570d7609005bbf52748fa6cdc3e072189d1fd783 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 12 Sep 2024 16:35:22 +0100 Subject: [PATCH 05/74] update imports --- .../FLTDocumentSnapshotStreamHandler.m | 8 ++++---- .../FLTFirebaseFirestoreExtension.m | 2 +- .../FLTFirebaseFirestorePlugin.m | 18 +++++++++--------- .../FLTFirebaseFirestoreReader.m | 4 ++-- .../FLTFirebaseFirestoreUtils.m | 8 ++++---- .../FLTFirebaseFirestoreWriter.m | 6 +++--- .../FLTLoadBundleStreamHandler.m | 4 ++-- .../FLTQuerySnapshotStreamHandler.m | 8 ++++---- .../FLTSnapshotsInSyncStreamHandler.m | 4 ++-- .../FLTTransactionStreamHandler.m | 6 +++--- .../Private/FirestorePigeonParser.h | 2 +- 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m index a2e58188ad26..3b3d2ce575c2 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m @@ -5,10 +5,10 @@ #import #import -#import "Private/FLTDocumentSnapshotStreamHandler.h" -#import "Private/FLTFirebaseFirestoreUtils.h" -#import "Private/FirestorePigeonParser.h" -#import "Public/CustomPigeonHeaderFirestore.h" +#import "include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" +#import "include/cloud_firestore/Private/FirestorePigeonParser.h" +#import "include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h" @interface FLTDocumentSnapshotStreamHandler () @property(readwrite, strong) id listenerRegistration; diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m index d130a95d5553..b0fb627b414b 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m @@ -3,7 +3,7 @@ // found in the LICENSE file. #import -#import "Private/FLTFirebaseFirestoreExtension.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h" @interface FLTFirebaseFirestoreExtension () diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index b7a4b114dcf7..70a93dd53134 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -7,15 +7,15 @@ #import #import "FirebaseFirestoreInternal/FIRPersistentCacheIndexManager.h" -#import "Private/FLTDocumentSnapshotStreamHandler.h" -#import "Private/FLTFirebaseFirestoreReader.h" -#import "Private/FLTFirebaseFirestoreUtils.h" -#import "Private/FLTLoadBundleStreamHandler.h" -#import "Private/FLTQuerySnapshotStreamHandler.h" -#import "Private/FLTSnapshotsInSyncStreamHandler.h" -#import "Private/FLTTransactionStreamHandler.h" -#import "Private/FirestorePigeonParser.h" -#import "Public/FLTFirebaseFirestorePlugin.h" +#import "include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" +#import "include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h" +#import "include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h" +#import "include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h" +#import "include/cloud_firestore/Private/FLTTransactionStreamHandler.h" +#import "include/cloud_firestore/Private/FirestorePigeonParser.h" +#import "include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h" NSString *const kFLTFirebaseFirestoreChannelName = @"plugins.flutter.io/firebase_firestore"; NSString *const kFLTFirebaseFirestoreQuerySnapshotEventChannelName = diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m index cb104640f749..b00524448935 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m @@ -5,8 +5,8 @@ #import #import -#import "Private/FLTFirebaseFirestoreReader.h" -#import "Private/FLTFirebaseFirestoreUtils.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" @implementation FLTFirebaseFirestoreReader diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m index 73659a783f67..e98e3ae35150 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m @@ -4,10 +4,10 @@ #import -#import "Private/FLTFirebaseFirestoreExtension.h" -#import "Private/FLTFirebaseFirestoreReader.h" -#import "Private/FLTFirebaseFirestoreUtils.h" -#import "Private/FLTFirebaseFirestoreWriter.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h" @implementation FLTFirebaseFirestoreReaderWriter - (FlutterStandardWriter *_Nonnull)writerWithData:(NSMutableData *)data { diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m index 1ea26d6f3cc9..15115cf9bfa9 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m @@ -5,9 +5,9 @@ #import #import -#import "Private/FLTFirebaseFirestoreUtils.h" -#import "Private/FLTFirebaseFirestoreWriter.h" -#import "Public/FLTFirebaseFirestorePlugin.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h" +#import "include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h" @implementation FLTFirebaseFirestoreWriter : FlutterStandardWriter - (void)writeValue:(id)value { diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m index 723b0a5aef3a..7192b9adf135 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m @@ -12,8 +12,8 @@ #import #import -#import "Private/FLTFirebaseFirestoreUtils.h" -#import "Private/FLTLoadBundleStreamHandler.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" +#import "include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h" @interface FLTLoadBundleStreamHandler () @property(readwrite, strong) FIRLoadBundleTask *task; diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m index e071bb501d42..51b9fa047d3c 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m @@ -5,10 +5,10 @@ #import #import -#import "Private/FLTFirebaseFirestoreUtils.h" -#import "Private/FLTQuerySnapshotStreamHandler.h" -#import "Private/FirestorePigeonParser.h" -#import "Public/CustomPigeonHeaderFirestore.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" +#import "include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h" +#import "include/cloud_firestore/Private/FirestorePigeonParser.h" +#import "include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h" @interface FLTQuerySnapshotStreamHandler () @property(readwrite, strong) id listenerRegistration; diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m index 4810470765d3..2807bcd5b66c 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m @@ -5,8 +5,8 @@ #import #import -#import "Private/FLTFirebaseFirestoreUtils.h" -#import "Private/FLTSnapshotsInSyncStreamHandler.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" +#import "include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h" @interface FLTSnapshotsInSyncStreamHandler () @property(readwrite, strong) id listenerRegistration; diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m index 104fa70c9226..8d293ae585a8 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m @@ -5,9 +5,9 @@ #import #import -#import "Private/FLTFirebaseFirestoreUtils.h" -#import "Private/FLTTransactionStreamHandler.h" -#import "Private/FirestorePigeonParser.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" +#import "include/cloud_firestore/Private/FLTTransactionStreamHandler.h" +#import "include/cloud_firestore/Private/FirestorePigeonParser.h" @interface FLTTransactionStreamHandler () @property(nonatomic, copy, nonnull) void (^started)(FIRTransaction *); diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h index 9044600298f0..b459480bdc07 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h @@ -6,7 +6,7 @@ #import #import -#import "../../../../../../Classes/Private/FirestoreMessages.g.h" +#import "FirestoreMessages.g.h" @interface FirestorePigeonParser : NSObject From 102948275f2e397d7a04dd808e60703fe33179be Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 12 Sep 2024 16:43:20 +0100 Subject: [PATCH 06/74] ios podspec working --- .../Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m | 4 ++-- .../cloud_firestore/Private/FLTTransactionStreamHandler.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index 70a93dd53134..e016930a1bb5 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -166,11 +166,11 @@ - (NSDictionary *_Nonnull)pluginConstantsForFIRApp:(FIRApp *)firebase_app { } - (NSString *_Nonnull)firebaseLibraryName { - return LIBRARY_NAME; + return @LIBRARY_NAME; } - (NSString *_Nonnull)firebaseLibraryVersion { - return LIBRARY_VERSION; + return @LIBRARY_VERSION; } - (NSString *_Nonnull)flutterChannelName { diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h index 4ba4c5d3135b..55cfa1ec4903 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h @@ -10,7 +10,7 @@ #endif #import -#import "../../../../../../Classes/Private/FirestoreMessages.g.h" +#import "FirestoreMessages.g.h" #import From 19b3dadc039c81d4d6fc3f91cee3459ce3585510 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 13 Sep 2024 09:15:47 +0100 Subject: [PATCH 07/74] update package.swift --- .../ios/Runner.xcodeproj/project.pbxproj | 20 +++++++++++++++++++ .../xcshareddata/xcschemes/Runner.xcscheme | 18 +++++++++++++++++ .../ios/cloud_firestore/Package.swift | 3 ++- 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/packages/cloud_firestore/cloud_firestore/example/ios/Runner.xcodeproj/project.pbxproj b/packages/cloud_firestore/cloud_firestore/example/ios/Runner.xcodeproj/project.pbxproj index f8c4563deaa8..9c13c6557a87 100644 --- a/packages/cloud_firestore/cloud_firestore/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/cloud_firestore/cloud_firestore/example/ios/Runner.xcodeproj/project.pbxproj @@ -15,6 +15,7 @@ 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; A83F699FC746D5736A6B5780 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E8EC7192C60686BF1D599360 /* Pods_Runner.framework */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -56,6 +57,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, A83F699FC746D5736A6B5780 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -131,6 +133,9 @@ /* Begin PBXNativeTarget section */ 97C146ED1CF9000F007C117D /* Runner */ = { + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( @@ -157,6 +162,9 @@ /* Begin PBXProject section */ 97C146E61CF9000F007C117D /* Project object */ = { + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, + ); isa = PBXProject; attributes = { LastUpgradeCheck = 1510; @@ -571,6 +579,18 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ +/* Begin XCLocalSwiftPackageReference section */ + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; + }; +/* End XCLocalSwiftPackageReference section */ +/* Begin XCSwiftPackageProductDependency section */ + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { + isa = XCSwiftPackageProductDependency; + productName = FlutterGeneratedPluginSwiftPackage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; } diff --git a/packages/cloud_firestore/cloud_firestore/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/cloud_firestore/cloud_firestore/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 5e31d3d342f3..e598ba7945d8 100644 --- a/packages/cloud_firestore/cloud_firestore/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/cloud_firestore/cloud_firestore/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -5,6 +5,24 @@ + + + + + + + + + + Date: Fri, 13 Sep 2024 10:56:00 +0100 Subject: [PATCH 08/74] hide .build config --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 00d6737efb50..8e1ee3294ce2 100644 --- a/.gitignore +++ b/.gitignore @@ -80,3 +80,5 @@ firebase-debug.log firestore-debug.log database-debug.log ui-debug.log + +packages/**/.build/**/* From 42f7f15fcbd807e54e7ecf5c652321a05b62e575 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 13 Sep 2024 11:13:00 +0100 Subject: [PATCH 09/74] try package.swift in root of repo --- Package.swift | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 Package.swift diff --git a/Package.swift b/Package.swift new file mode 100644 index 000000000000..7ae411e4afc4 --- /dev/null +++ b/Package.swift @@ -0,0 +1,110 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +// Copyright 2024, the Chromium project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import Foundation +import PackageDescription + +enum ConfigurationError: Error { + case fileNotFound(String) + case parsingError(String) + case invalidFormat(String) +} + +let iosRootDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString + .dropLast()) + +func loadPubspecVersion() throws -> String { + let pubspecPath = NSString.path(withComponents: [iosRootDirectory, "..", "..", "pubspec.yaml"]) + do { + let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) + if let versionLine = yamlString.split(separator: "\n") + .first(where: { $0.starts(with: "version:") }) { + let version = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + return version.replacingOccurrences(of: "+", with: "-") + } else { + throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") + } + } catch { + throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") + } +} + +func loadFirebaseSDKVersion() throws -> String { + let firebaseCoreScriptPath = NSString.path(withComponents: [ + iosRootDirectory, + "..", + "..", + "..", + "firebase_core", + "ios", + "firebase_sdk_version.rb", + ]) + do { + let content = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) + let pattern = #"def firebase_sdk_version!\(\)\n\s+'([^']+)'\nend"# + if let regex = try? NSRegularExpression(pattern: pattern, options: []), + let match = regex.firstMatch( + in: content, + range: NSRange(content.startIndex..., in: content) + ) { + if let versionRange = Range(match.range(at: 1), in: content) { + return String(content[versionRange]) + } else { + throw ConfigurationError.invalidFormat("Invalid format in firebase_sdk_version.rb") + } + } else { + throw ConfigurationError.parsingError("No match found in firebase_sdk_version.rb") + } + } catch { + throw ConfigurationError + .fileNotFound("Error loading or parsing firebase_sdk_version.rb: \(error)") + } +} + +let library_version: String +let firebase_sdk_version_string: String + +do { + library_version = try loadPubspecVersion() + firebase_sdk_version_string = try loadFirebaseSDKVersion() +} catch { + fatalError("Failed to load configuration: \(error)") +} + +guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { + fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") +} + +let package = Package( + name: "firebase_core", + platforms: [ + .iOS("13.0"), + ], + products: [ + .library(name: "firebase-core", targets: ["firebase_core"]), + ], + dependencies: [ + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + ], + targets: [ + .target( + name: "firebase_core", + dependencies: [ + // No product for firebase-core so we pull in the smallest one + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), + ], + resources: [ + .process("Resources"), + ], + cSettings: [ + .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/include"), + .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), + ] + ), + ] +) From 3354b03a7c40b29101a293ba3fdf7e41baafa6c3 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 13 Sep 2024 12:51:25 +0100 Subject: [PATCH 10/74] push latest package.swift --- Package.swift | 76 ++++----------------------------------------------- 1 file changed, 5 insertions(+), 71 deletions(-) diff --git a/Package.swift b/Package.swift index 7ae411e4afc4..c824769016c9 100644 --- a/Package.swift +++ b/Package.swift @@ -8,76 +8,8 @@ import Foundation import PackageDescription -enum ConfigurationError: Error { - case fileNotFound(String) - case parsingError(String) - case invalidFormat(String) -} - -let iosRootDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString - .dropLast()) - -func loadPubspecVersion() throws -> String { - let pubspecPath = NSString.path(withComponents: [iosRootDirectory, "..", "..", "pubspec.yaml"]) - do { - let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) - if let versionLine = yamlString.split(separator: "\n") - .first(where: { $0.starts(with: "version:") }) { - let version = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) - return version.replacingOccurrences(of: "+", with: "-") - } else { - throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") - } - } catch { - throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") - } -} - -func loadFirebaseSDKVersion() throws -> String { - let firebaseCoreScriptPath = NSString.path(withComponents: [ - iosRootDirectory, - "..", - "..", - "..", - "firebase_core", - "ios", - "firebase_sdk_version.rb", - ]) - do { - let content = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) - let pattern = #"def firebase_sdk_version!\(\)\n\s+'([^']+)'\nend"# - if let regex = try? NSRegularExpression(pattern: pattern, options: []), - let match = regex.firstMatch( - in: content, - range: NSRange(content.startIndex..., in: content) - ) { - if let versionRange = Range(match.range(at: 1), in: content) { - return String(content[versionRange]) - } else { - throw ConfigurationError.invalidFormat("Invalid format in firebase_sdk_version.rb") - } - } else { - throw ConfigurationError.parsingError("No match found in firebase_sdk_version.rb") - } - } catch { - throw ConfigurationError - .fileNotFound("Error loading or parsing firebase_sdk_version.rb: \(error)") - } -} - -let library_version: String -let firebase_sdk_version_string: String - -do { - library_version = try loadPubspecVersion() - firebase_sdk_version_string = try loadFirebaseSDKVersion() -} catch { - fatalError("Failed to load configuration: \(error)") -} - -guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { - fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") -} +let firebase_sdk_version = "11.0.0" +let library_version = "3.4.1" let package = Package( name: "firebase_core", @@ -88,7 +20,7 @@ let package = Package( .library(name: "firebase-core", targets: ["firebase_core"]), ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: Version(firebase_sdk_version)!), ], targets: [ .target( @@ -97,6 +29,8 @@ let package = Package( // No product for firebase-core so we pull in the smallest one .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), ], + path: "packages/firebase_core/firebase_core/ios/firebase_core", // Specify the path to the source files + resources: [ .process("Resources"), ], From 53aec13770a59c871dfb5c15bd77ef1b50d84463 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 13 Sep 2024 13:06:11 +0100 Subject: [PATCH 11/74] rm: package.swift file for experiment --- .../ios/firebase_core/Package.swift | 110 ------------------ 1 file changed, 110 deletions(-) delete mode 100644 packages/firebase_core/firebase_core/ios/firebase_core/Package.swift diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift deleted file mode 100644 index 5d4cd0f52b5f..000000000000 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ /dev/null @@ -1,110 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import Foundation -import PackageDescription - -enum ConfigurationError: Error { - case fileNotFound(String) - case parsingError(String) - case invalidFormat(String) -} - -let iosRootDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString - .dropLast()) - -func loadPubspecVersion() throws -> String { - let pubspecPath = NSString.path(withComponents: [iosRootDirectory, "..", "..", "pubspec.yaml"]) - do { - let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) - if let versionLine = yamlString.split(separator: "\n") - .first(where: { $0.starts(with: "version:") }) { - let version = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) - return version.replacingOccurrences(of: "+", with: "-") - } else { - throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") - } - } catch { - throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") - } -} - -func loadFirebaseSDKVersion() throws -> String { - let firebaseCoreScriptPath = NSString.path(withComponents: [ - iosRootDirectory, - "..", - "..", - "..", - "firebase_core", - "ios", - "firebase_sdk_version.rb", - ]) - do { - let content = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) - let pattern = #"def firebase_sdk_version!\(\)\n\s+'([^']+)'\nend"# - if let regex = try? NSRegularExpression(pattern: pattern, options: []), - let match = regex.firstMatch( - in: content, - range: NSRange(content.startIndex..., in: content) - ) { - if let versionRange = Range(match.range(at: 1), in: content) { - return String(content[versionRange]) - } else { - throw ConfigurationError.invalidFormat("Invalid format in firebase_sdk_version.rb") - } - } else { - throw ConfigurationError.parsingError("No match found in firebase_sdk_version.rb") - } - } catch { - throw ConfigurationError - .fileNotFound("Error loading or parsing firebase_sdk_version.rb: \(error)") - } -} - -let library_version: String -let firebase_sdk_version_string: String - -do { - library_version = try loadPubspecVersion() - firebase_sdk_version_string = try loadFirebaseSDKVersion() -} catch { - fatalError("Failed to load configuration: \(error)") -} - -guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { - fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") -} - -let package = Package( - name: "firebase_core", - platforms: [ - .iOS("13.0"), - ], - products: [ - .library(name: "firebase-core", targets: ["firebase_core"]), - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), - ], - targets: [ - .target( - name: "firebase_core", - dependencies: [ - // No product for firebase-core so we pull in the smallest one - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), - ], - resources: [ - .process("Resources"), - ], - cSettings: [ - .headerSearchPath("include/firebase_core"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), - .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), - ] - ), - ] -) From e65a2f8ea0adcea4c8190cc3c9e59c66e81ef5ee Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 13 Sep 2024 13:10:39 +0100 Subject: [PATCH 12/74] update point to Sources --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index c824769016c9..4dd7fa8a89df 100644 --- a/Package.swift +++ b/Package.swift @@ -29,7 +29,7 @@ let package = Package( // No product for firebase-core so we pull in the smallest one .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), ], - path: "packages/firebase_core/firebase_core/ios/firebase_core", // Specify the path to the source files + path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files resources: [ .process("Resources"), From a6651c9cd631d1cdf78327413647889b7ca486dd Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 13 Sep 2024 14:47:52 +0100 Subject: [PATCH 13/74] url firestore --- .../cloud_firestore/ios/cloud_firestore/Package.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index ef9cc0043ad3..026b9e4687a6 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -20,12 +20,14 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: "11.0.0"), + .package(url: "https://github.com/firebase/flutterfire", .branch("spm-firestore")) ], targets: [ .target( name: "cloud_firestore", dependencies: [ .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), + .product(name: "firebase_core", package: "flutterfire"), // Add firebase_core to target dependencies ], resources: [ .process("Resources"), From f6587d60472c33ea1c63c0ec5d03a576738c6c06 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 13 Sep 2024 15:23:15 +0100 Subject: [PATCH 14/74] update package.swift root --- Package.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Package.swift b/Package.swift index 4dd7fa8a89df..cab2dc9a8785 100644 --- a/Package.swift +++ b/Package.swift @@ -30,12 +30,11 @@ let package = Package( .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), ], path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files - resources: [ - .process("Resources"), + .process("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/Resources"), ], cSettings: [ - .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/include"), + .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] From a5615ae5fccd38810db14e2ef60a82c44acf6756 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 13 Sep 2024 15:27:43 +0100 Subject: [PATCH 15/74] update --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index cab2dc9a8785..1cf5e6a583db 100644 --- a/Package.swift +++ b/Package.swift @@ -34,7 +34,7 @@ let package = Package( .process("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/Resources"), ], cSettings: [ - .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include"), + .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] From 8cacdac6c7a88314bcc8465033d52e55c5c57091 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 16 Sep 2024 09:46:39 +0100 Subject: [PATCH 16/74] ignore build files --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8e1ee3294ce2..83e5a5f4244f 100644 --- a/.gitignore +++ b/.gitignore @@ -81,4 +81,4 @@ firestore-debug.log database-debug.log ui-debug.log -packages/**/.build/**/* +**/.build/**/* From eac1404404a73d3cf4591f26f03eda97323f40e4 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 10 Oct 2024 10:40:34 +0100 Subject: [PATCH 17/74] fix: reinsert package.swift core and fix path to core from firestore --- .../ios/cloud_firestore/Package.swift | 4 +- .../ios/firebase_core/Package.swift | 110 ++++++++++++++++++ 2 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 packages/firebase_core/firebase_core/ios/firebase_core/Package.swift diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index 026b9e4687a6..1d5b7f5be0f4 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -20,14 +20,14 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: "11.0.0"), - .package(url: "https://github.com/firebase/flutterfire", .branch("spm-firestore")) + .package(name: "firebase_core", path: "../../../../firebase_core/firebase_core/ios/firebase_core") ], targets: [ .target( name: "cloud_firestore", dependencies: [ .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), - .product(name: "firebase_core", package: "flutterfire"), // Add firebase_core to target dependencies + .product(name: "firebase-core", package: "firebase_core") // Add firebase_core to target dependencies ], resources: [ .process("Resources"), diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift new file mode 100644 index 000000000000..5d4cd0f52b5f --- /dev/null +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -0,0 +1,110 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +// Copyright 2024, the Chromium project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import Foundation +import PackageDescription + +enum ConfigurationError: Error { + case fileNotFound(String) + case parsingError(String) + case invalidFormat(String) +} + +let iosRootDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString + .dropLast()) + +func loadPubspecVersion() throws -> String { + let pubspecPath = NSString.path(withComponents: [iosRootDirectory, "..", "..", "pubspec.yaml"]) + do { + let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) + if let versionLine = yamlString.split(separator: "\n") + .first(where: { $0.starts(with: "version:") }) { + let version = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + return version.replacingOccurrences(of: "+", with: "-") + } else { + throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") + } + } catch { + throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") + } +} + +func loadFirebaseSDKVersion() throws -> String { + let firebaseCoreScriptPath = NSString.path(withComponents: [ + iosRootDirectory, + "..", + "..", + "..", + "firebase_core", + "ios", + "firebase_sdk_version.rb", + ]) + do { + let content = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) + let pattern = #"def firebase_sdk_version!\(\)\n\s+'([^']+)'\nend"# + if let regex = try? NSRegularExpression(pattern: pattern, options: []), + let match = regex.firstMatch( + in: content, + range: NSRange(content.startIndex..., in: content) + ) { + if let versionRange = Range(match.range(at: 1), in: content) { + return String(content[versionRange]) + } else { + throw ConfigurationError.invalidFormat("Invalid format in firebase_sdk_version.rb") + } + } else { + throw ConfigurationError.parsingError("No match found in firebase_sdk_version.rb") + } + } catch { + throw ConfigurationError + .fileNotFound("Error loading or parsing firebase_sdk_version.rb: \(error)") + } +} + +let library_version: String +let firebase_sdk_version_string: String + +do { + library_version = try loadPubspecVersion() + firebase_sdk_version_string = try loadFirebaseSDKVersion() +} catch { + fatalError("Failed to load configuration: \(error)") +} + +guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { + fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") +} + +let package = Package( + name: "firebase_core", + platforms: [ + .iOS("13.0"), + ], + products: [ + .library(name: "firebase-core", targets: ["firebase_core"]), + ], + dependencies: [ + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + ], + targets: [ + .target( + name: "firebase_core", + dependencies: [ + // No product for firebase-core so we pull in the smallest one + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), + ], + resources: [ + .process("Resources"), + ], + cSettings: [ + .headerSearchPath("include/firebase_core"), + .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), + ] + ), + ] +) From a7cfe906f96126e05e97352d0343ea535f7b4518 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 10 Oct 2024 11:51:42 +0100 Subject: [PATCH 18/74] fix: imports for Swift integration are correct --- .../cloud_firestore/FLTDocumentSnapshotStreamHandler.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestoreReader.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m | 3 ++- .../Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m | 2 +- .../Sources/cloud_firestore/FLTLoadBundleStreamHandler.m | 2 +- .../Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m | 2 +- .../Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m | 2 +- .../Sources/cloud_firestore/FLTTransactionStreamHandler.m | 2 +- .../Private/FLTDocumentSnapshotStreamHandler.h | 1 + .../cloud_firestore/Private/FLTFirebaseFirestoreUtils.h | 2 +- .../cloud_firestore/Private/FLTLoadBundleStreamHandler.h | 2 +- .../cloud_firestore/Private/FLTTransactionStreamHandler.h | 4 ++-- .../include/cloud_firestore/Private/FirestorePigeonParser.h | 4 ++-- 15 files changed, 18 insertions(+), 16 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m index 3b3d2ce575c2..14b77ddbbd9c 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import FirebaseFirestore; #import #import "include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m index b0fb627b414b..33fd92271fc4 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m @@ -1,7 +1,7 @@ // Copyright 2023 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import FirebaseFirestore; #import "include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index e016930a1bb5..cd324733fc45 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import FirebaseFirestore; #import #import diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m index b00524448935..3f580aaeb2aa 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import FirebaseFirestore; #import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m index e98e3ae35150..d24d940b334c 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m @@ -2,7 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import FirebaseFirestore; +@import FirebaseCore; #import "include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m index 15115cf9bfa9..d7af75396dd7 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import FirebaseFirestore; #import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m index 7192b9adf135..a6a5533f57fe 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m @@ -9,7 +9,7 @@ // Created by Russell Wheatley on 05/05/2021. // -#import +@import FirebaseFirestore; #import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m index 51b9fa047d3c..988a3330197e 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import FirebaseFirestore; #import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m index 2807bcd5b66c..63776fa99207 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import FirebaseFirestore; #import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m index 8d293ae585a8..29e1a58948fc 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import +@import FirebaseFirestore; #import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h index 9f8ecd7fdce6..99a401516e7c 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h @@ -9,6 +9,7 @@ #import #endif +@import FirebaseFirestore; #import NS_ASSUME_NONNULL_BEGIN diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h index 49c1387b4781..ef5dc5a47db7 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h @@ -10,7 +10,7 @@ #import #endif -#import +@import FirebaseFirestore; #import #import "FLTFirebaseFirestoreExtension.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h index 484811d2e2bb..59f018b61e17 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h @@ -18,7 +18,7 @@ #import #endif -#import +@import FirebaseFirestore; #import diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h index 55cfa1ec4903..7f0411281fc4 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h @@ -9,8 +9,8 @@ #import #endif -#import -#import "FirestoreMessages.g.h" +@import FirebaseFirestore; +#import "../Public/FirestoreMessages.g.h" #import diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h index b459480bdc07..11178a54b9e8 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h @@ -4,9 +4,9 @@ * BSD-style license that can be found in the LICENSE file. */ -#import +@import FirebaseFirestore; #import -#import "FirestoreMessages.g.h" +#import "../Public/FirestoreMessages.g.h" @interface FirestorePigeonParser : NSObject From 0c5b666ec18d041e3d071bd6fa77adad10c8139e Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 10 Oct 2024 13:35:15 +0100 Subject: [PATCH 19/74] test: see if I can source firebase core from remote --- .../ios/firebase_core/Package.swift | 110 ------------------ 1 file changed, 110 deletions(-) delete mode 100644 packages/firebase_core/firebase_core/ios/firebase_core/Package.swift diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift deleted file mode 100644 index 5d4cd0f52b5f..000000000000 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ /dev/null @@ -1,110 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import Foundation -import PackageDescription - -enum ConfigurationError: Error { - case fileNotFound(String) - case parsingError(String) - case invalidFormat(String) -} - -let iosRootDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString - .dropLast()) - -func loadPubspecVersion() throws -> String { - let pubspecPath = NSString.path(withComponents: [iosRootDirectory, "..", "..", "pubspec.yaml"]) - do { - let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) - if let versionLine = yamlString.split(separator: "\n") - .first(where: { $0.starts(with: "version:") }) { - let version = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) - return version.replacingOccurrences(of: "+", with: "-") - } else { - throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") - } - } catch { - throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") - } -} - -func loadFirebaseSDKVersion() throws -> String { - let firebaseCoreScriptPath = NSString.path(withComponents: [ - iosRootDirectory, - "..", - "..", - "..", - "firebase_core", - "ios", - "firebase_sdk_version.rb", - ]) - do { - let content = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) - let pattern = #"def firebase_sdk_version!\(\)\n\s+'([^']+)'\nend"# - if let regex = try? NSRegularExpression(pattern: pattern, options: []), - let match = regex.firstMatch( - in: content, - range: NSRange(content.startIndex..., in: content) - ) { - if let versionRange = Range(match.range(at: 1), in: content) { - return String(content[versionRange]) - } else { - throw ConfigurationError.invalidFormat("Invalid format in firebase_sdk_version.rb") - } - } else { - throw ConfigurationError.parsingError("No match found in firebase_sdk_version.rb") - } - } catch { - throw ConfigurationError - .fileNotFound("Error loading or parsing firebase_sdk_version.rb: \(error)") - } -} - -let library_version: String -let firebase_sdk_version_string: String - -do { - library_version = try loadPubspecVersion() - firebase_sdk_version_string = try loadFirebaseSDKVersion() -} catch { - fatalError("Failed to load configuration: \(error)") -} - -guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { - fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") -} - -let package = Package( - name: "firebase_core", - platforms: [ - .iOS("13.0"), - ], - products: [ - .library(name: "firebase-core", targets: ["firebase_core"]), - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), - ], - targets: [ - .target( - name: "firebase_core", - dependencies: [ - // No product for firebase-core so we pull in the smallest one - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), - ], - resources: [ - .process("Resources"), - ], - cSettings: [ - .headerSearchPath("include/firebase_core"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), - .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), - ] - ), - ] -) From c59875dbf7f577595e43dd4e96c51c246b4b72f5 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 10 Oct 2024 14:21:12 +0100 Subject: [PATCH 20/74] cloud firestore example test --- .../cloud_firestore/ios/cloud_firestore/Package.swift | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index 1d5b7f5be0f4..127dd19541de 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -20,14 +20,15 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: "11.0.0"), - .package(name: "firebase_core", path: "../../../../firebase_core/firebase_core/ios/firebase_core") + .package( url: "https://github.com/firebase/flutterfire", branch: "spm-firestore") + // .package(name: "firebase_core", path: "../../../../firebase_core/firebase_core/ios/firebase_core") ], targets: [ .target( name: "cloud_firestore", dependencies: [ .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "firebase_core") // Add firebase_core to target dependencies + .product(name: "firebase-core", package: "flutterfire") // Add firebase_core to target dependencies ], resources: [ .process("Resources"), From 980770e9289ddee45f5868a457267c071eeea8ef Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 10 Oct 2024 14:32:29 +0100 Subject: [PATCH 21/74] reinsert package.swift file for firebase core --- .../ios/firebase_core/Package.swift | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 packages/firebase_core/firebase_core/ios/firebase_core/Package.swift diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift new file mode 100644 index 000000000000..5d4cd0f52b5f --- /dev/null +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -0,0 +1,110 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +// Copyright 2024, the Chromium project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import Foundation +import PackageDescription + +enum ConfigurationError: Error { + case fileNotFound(String) + case parsingError(String) + case invalidFormat(String) +} + +let iosRootDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString + .dropLast()) + +func loadPubspecVersion() throws -> String { + let pubspecPath = NSString.path(withComponents: [iosRootDirectory, "..", "..", "pubspec.yaml"]) + do { + let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) + if let versionLine = yamlString.split(separator: "\n") + .first(where: { $0.starts(with: "version:") }) { + let version = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + return version.replacingOccurrences(of: "+", with: "-") + } else { + throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") + } + } catch { + throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") + } +} + +func loadFirebaseSDKVersion() throws -> String { + let firebaseCoreScriptPath = NSString.path(withComponents: [ + iosRootDirectory, + "..", + "..", + "..", + "firebase_core", + "ios", + "firebase_sdk_version.rb", + ]) + do { + let content = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) + let pattern = #"def firebase_sdk_version!\(\)\n\s+'([^']+)'\nend"# + if let regex = try? NSRegularExpression(pattern: pattern, options: []), + let match = regex.firstMatch( + in: content, + range: NSRange(content.startIndex..., in: content) + ) { + if let versionRange = Range(match.range(at: 1), in: content) { + return String(content[versionRange]) + } else { + throw ConfigurationError.invalidFormat("Invalid format in firebase_sdk_version.rb") + } + } else { + throw ConfigurationError.parsingError("No match found in firebase_sdk_version.rb") + } + } catch { + throw ConfigurationError + .fileNotFound("Error loading or parsing firebase_sdk_version.rb: \(error)") + } +} + +let library_version: String +let firebase_sdk_version_string: String + +do { + library_version = try loadPubspecVersion() + firebase_sdk_version_string = try loadFirebaseSDKVersion() +} catch { + fatalError("Failed to load configuration: \(error)") +} + +guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { + fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") +} + +let package = Package( + name: "firebase_core", + platforms: [ + .iOS("13.0"), + ], + products: [ + .library(name: "firebase-core", targets: ["firebase_core"]), + ], + dependencies: [ + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + ], + targets: [ + .target( + name: "firebase_core", + dependencies: [ + // No product for firebase-core so we pull in the smallest one + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), + ], + resources: [ + .process("Resources"), + ], + cSettings: [ + .headerSearchPath("include/firebase_core"), + .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), + ] + ), + ] +) From fa94b1abe418e431174cf2df1dee647e41ae685e Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 10 Oct 2024 14:41:05 +0100 Subject: [PATCH 22/74] try using publicHeadersPath --- Package.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Package.swift b/Package.swift index 1cf5e6a583db..78bfba3d6120 100644 --- a/Package.swift +++ b/Package.swift @@ -30,9 +30,10 @@ let package = Package( .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), ], path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files - resources: [ - .process("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/Resources"), - ], + publicHeadersPath: "packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core", + // resources: [ + // .process("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/Resources"), + // ], cSettings: [ .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), From 5fa6cd9baef6840a79382ff20a696cfdd3845790 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 10 Oct 2024 15:10:08 +0100 Subject: [PATCH 23/74] further tweaks to test --- Package.swift | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Package.swift b/Package.swift index 78bfba3d6120..748496507d43 100644 --- a/Package.swift +++ b/Package.swift @@ -29,11 +29,10 @@ let package = Package( // No product for firebase-core so we pull in the smallest one .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), ], - path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files - publicHeadersPath: "packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core", - // resources: [ - // .process("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/Resources"), - // ], + // path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files + resources: [ + .process("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/Resources"), + ], cSettings: [ .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), From 71180b368f96ae41cd1af44ca78e0c01e26cb32f Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 10 Oct 2024 15:28:58 +0100 Subject: [PATCH 24/74] try without headerSearchPath --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 748496507d43..d6a0fb736375 100644 --- a/Package.swift +++ b/Package.swift @@ -29,12 +29,12 @@ let package = Package( // No product for firebase-core so we pull in the smallest one .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), ], - // path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files + path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files resources: [ .process("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/Resources"), ], cSettings: [ - .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core"), + // .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] From 0436baf6a13d727084aa594ad2af24d8a554760f Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 10 Oct 2024 16:13:56 +0100 Subject: [PATCH 25/74] change --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index d6a0fb736375..748496507d43 100644 --- a/Package.swift +++ b/Package.swift @@ -29,12 +29,12 @@ let package = Package( // No product for firebase-core so we pull in the smallest one .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), ], - path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files + // path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files resources: [ .process("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/Resources"), ], cSettings: [ - // .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core"), + .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core"), .define("LIBRARY_VERSION", to: "\"\(library_version)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] From 7528a42ddef8e3aff1c13e21776c6d752ad3a6f4 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 11 Oct 2024 16:09:17 +0100 Subject: [PATCH 26/74] fix: firestore working --- Package.swift | 26 +++----- .../ios/cloud_firestore/Package.swift | 62 +++++++++++++++++-- .../cloud_firestore/pubspec.yaml | 2 + 3 files changed, 67 insertions(+), 23 deletions(-) diff --git a/Package.swift b/Package.swift index 748496507d43..1bd66945909c 100644 --- a/Package.swift +++ b/Package.swift @@ -8,35 +8,25 @@ import Foundation import PackageDescription -let firebase_sdk_version = "11.0.0" -let library_version = "3.4.1" - +// Using this as a wrapper around firebase core, this allows retrieval of it via remote package +// whilst also preserving firebase core's Package.swift file needed by Flutter let package = Package( - name: "firebase_core", + name: "remote_firebase_core", platforms: [ .iOS("13.0"), ], products: [ - .library(name: "firebase-core", targets: ["firebase_core"]), + .library(name: "remote-firebase-core", targets: ["remote_firebase_core"]), ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: Version(firebase_sdk_version)!), + .package(path: "packages/firebase_core/firebase_core/ios/firebase_core"), ], targets: [ .target( - name: "firebase_core", + name: "remote_firebase_core", dependencies: [ - // No product for firebase-core so we pull in the smallest one - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), - ], - // path: "packages/firebase_core/firebase_core/ios/firebase_core/Sources", // Specify the path to the source files - resources: [ - .process("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/Resources"), - ], - cSettings: [ - .headerSearchPath("packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), - .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), + // Add the firebase_core package as a dependency + .product(name: "firebase-core", package: "firebase_core"), ] ), ] diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index 127dd19541de..d2dac1a7eb61 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -8,7 +8,58 @@ import Foundation import PackageDescription -let library_version = "5.4.1" + +enum ConfigurationError: Error { + case fileNotFound(String) + case parsingError(String) + case invalidFormat(String) +} + +let iosRootDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString + .dropLast()) + +func loadPubspecVersion() throws -> (libraryVersion: String, iosSdkVersion: String) { + let pubspecPath = NSString.path(withComponents: [iosRootDirectory, "..", "..", "pubspec.yaml"]) + do { + let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) + let lines = yamlString.split(separator: "\n") + + guard let versionLine = lines.first(where: { $0.starts(with: "version:") }) else { + throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") + } + let libraryVersion = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + .replacingOccurrences(of: "+", with: "-") + + // Adjusted to find ios_sdk under the firebase key + guard let firebaseIndex = lines.firstIndex(where: { $0.starts(with: "firebase:") }) else { + throw ConfigurationError.invalidFormat("No firebase section found in pubspec.yaml") + } + let iosSdkLine = lines.dropFirst(firebaseIndex + 1).first(where: { $0.trimmingCharacters(in: .whitespaces).starts(with: "ios_sdk:") }) + guard let iosSdkLine = iosSdkLine else { + throw ConfigurationError.invalidFormat("No ios_sdk line found in pubspec.yaml") + } + let iosSdkVersion = iosSdkLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + + return (libraryVersion, iosSdkVersion) + } catch { + throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") + } +} + +let library_version: String +let firebase_sdk_version_string: String + +do { + let versions = try loadPubspecVersion() + library_version = versions.libraryVersion + firebase_sdk_version_string = versions.iosSdkVersion +} catch { + fatalError("Failed to load configuration: \(error)") +} + +guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { + fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") +} let package = Package( name: "cloud_firestore", @@ -19,16 +70,17 @@ let package = Package( .library(name: "cloud-firestore", targets: ["cloud_firestore"]), ], dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: "11.0.0"), - .package( url: "https://github.com/firebase/flutterfire", branch: "spm-firestore") - // .package(name: "firebase_core", path: "../../../../firebase_core/firebase_core/ios/firebase_core") + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + // TODO - this needs a version instead + .package(url:"https://github.com/firebase/flutterfire", branch: "spm-firestore"), ], targets: [ .target( name: "cloud_firestore", dependencies: [ .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), - .product(name: "firebase-core", package: "flutterfire") // Add firebase_core to target dependencies + // Wrapper dependency + .product(name: "remote-firebase-core", package: "flutterfire") ], resources: [ .process("Resources"), diff --git a/packages/cloud_firestore/cloud_firestore/pubspec.yaml b/packages/cloud_firestore/cloud_firestore/pubspec.yaml index 5daf1e557632..b9f8ae14a89c 100755 --- a/packages/cloud_firestore/cloud_firestore/pubspec.yaml +++ b/packages/cloud_firestore/cloud_firestore/pubspec.yaml @@ -49,3 +49,5 @@ flutter: windows: pluginClass: CloudFirestorePluginCApi +firebase: + ios_sdk: 11.2.0 From 18ad50d41852ea315e2a2b24b7c54fc6994c1197 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 14 Oct 2024 10:29:33 +0100 Subject: [PATCH 27/74] fix: add dummy remote firebase core source --- Sources/remote_firebase_core/dummy.swift | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Sources/remote_firebase_core/dummy.swift diff --git a/Sources/remote_firebase_core/dummy.swift b/Sources/remote_firebase_core/dummy.swift new file mode 100644 index 000000000000..e69de29bb2d1 From 48156bc94bb7191d66116ba4d6e13a58fc93876c Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 15 Oct 2024 09:32:43 +0100 Subject: [PATCH 28/74] wrapper method that causes duplicate symbols --- Package.swift | 21 +++++++++++-------- .../ios/cloud_firestore/Package.swift | 7 +++++-- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Package.swift b/Package.swift index 1bd66945909c..68ac01c7eb1e 100644 --- a/Package.swift +++ b/Package.swift @@ -16,18 +16,21 @@ let package = Package( .iOS("13.0"), ], products: [ - .library(name: "remote-firebase-core", targets: ["remote_firebase_core"]), - ], - dependencies: [ - .package(path: "packages/firebase_core/firebase_core/ios/firebase_core"), + .library(name: "firebase-core-target", targets: ["firebase_core_target"]), ], targets: [ .target( - name: "remote_firebase_core", - dependencies: [ - // Add the firebase_core package as a dependency - .product(name: "firebase-core", package: "firebase_core"), - ] + name: "firebase_core_target", + dependencies:[ + .target(name: "firebase_core") + ], + path: "Sources/firebase_core_target" + ), + .target( + name: "firebase_core", + path: "packages/firebase_core/firebase_core/ios/firebase_core", + exclude: ["Package.swift"], + publicHeadersPath: "Sources/firebase_core/include" ), ] ) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index d2dac1a7eb61..7cbadaee63a6 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -71,8 +71,11 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + // This works + // .package(name:"flutterfire", path: "../../../../.."), // TODO - this needs a version instead - .package(url:"https://github.com/firebase/flutterfire", branch: "spm-firestore"), + // This isn't working + .package(url:"https://github.com/russellwheatley/test-flutterfire", exact: "0.0.19"), ], targets: [ .target( @@ -80,7 +83,7 @@ let package = Package( dependencies: [ .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), // Wrapper dependency - .product(name: "remote-firebase-core", package: "flutterfire") + .product(name: "firebase-core-wrapper", package: "test-flutterfire") ], resources: [ .process("Resources"), From d83fd50d362e2dfbd588c15be2e0871e24112f4f Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 15 Oct 2024 09:35:21 +0100 Subject: [PATCH 29/74] rm podfile from example --- .../cloud_firestore/example/ios/Podfile | 64 ------------------- 1 file changed, 64 deletions(-) delete mode 100644 packages/cloud_firestore/cloud_firestore/example/ios/Podfile diff --git a/packages/cloud_firestore/cloud_firestore/example/ios/Podfile b/packages/cloud_firestore/cloud_firestore/example/ios/Podfile deleted file mode 100644 index b10846a76189..000000000000 --- a/packages/cloud_firestore/cloud_firestore/example/ios/Podfile +++ /dev/null @@ -1,64 +0,0 @@ -# Uncomment this line to define a global platform for your project -platform :ios, '13.0' - -require 'yaml' - -pubspec = YAML.load_file(File.join('..', File.join('..', 'pubspec.yaml'))) - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - - if defined?($FirebaseSDKVersion) - Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version for FirebaseFirestore framework: '#{$FirebaseSDKVersion}'" - firebase_sdk_version = $FirebaseSDKVersion - else - firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))))), 'firebase_core/firebase_core/ios/firebase_sdk_version.rb') - if File.exist?(firebase_core_script) - require firebase_core_script - firebase_sdk_version = firebase_sdk_version! - Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core for FirebaseFirestore framework'" - else - raise "Error - unable to locate firebase_ios_sdk.rb script in firebase_core, and no FirebaseSDKVersion specified" - end - end - - pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => "#{firebase_sdk_version}" -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET' - end - flutter_additional_ios_build_settings(target) - end -end From eee275f5f0d3c849dc566d30551a55ba67958202 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 11:05:12 +0100 Subject: [PATCH 30/74] working version of firestore and core --- .../cloud_firestore/ios/cloud_firestore/Package.swift | 4 ++-- .../cloud_firestore/FLTDocumentSnapshotStreamHandler.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestoreReader.m | 3 ++- .../Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m | 2 +- .../Sources/cloud_firestore/FLTLoadBundleStreamHandler.m | 2 +- .../cloud_firestore/FLTQuerySnapshotStreamHandler.m | 2 +- .../cloud_firestore/FLTSnapshotsInSyncStreamHandler.m | 2 +- .../cloud_firestore/FLTTransactionStreamHandler.m | 2 +- .../cloud_firestore/Public/FLTFirebaseFirestorePlugin.h | 2 +- .../firebase_core/ios/firebase_core/Package.swift | 9 +++++++++ 11 files changed, 21 insertions(+), 11 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index 7cbadaee63a6..a180f254a280 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -75,7 +75,7 @@ let package = Package( // .package(name:"flutterfire", path: "../../../../.."), // TODO - this needs a version instead // This isn't working - .package(url:"https://github.com/russellwheatley/test-flutterfire", exact: "0.0.19"), + .package(url:"https://github.com/russellwheatley/test-flutterfire", exact: "0.0.24"), ], targets: [ .target( @@ -83,7 +83,7 @@ let package = Package( dependencies: [ .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), // Wrapper dependency - .product(name: "firebase-core-wrapper", package: "test-flutterfire") + .product(name: "firebase-core-shared", package: "test-flutterfire") ], resources: [ .process("Resources"), diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m index 14b77ddbbd9c..9b86c7f721fb 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m @@ -3,7 +3,7 @@ // found in the LICENSE file. @import FirebaseFirestore; -#import +#import #import "include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index cd324733fc45..5aa970fa3a33 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -3,7 +3,7 @@ // found in the LICENSE file. @import FirebaseFirestore; -#import +#import #import #import "FirebaseFirestoreInternal/FIRPersistentCacheIndexManager.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m index 3f580aaeb2aa..f69d78bf89d6 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m @@ -3,8 +3,9 @@ // found in the LICENSE file. @import FirebaseFirestore; -#import +@import FirebaseCore; +#import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m index d7af75396dd7..6868868a3742 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m @@ -3,7 +3,7 @@ // found in the LICENSE file. @import FirebaseFirestore; -#import +@import FirebaseCore; #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m index a6a5533f57fe..a73dd35d1690 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m @@ -10,7 +10,7 @@ // @import FirebaseFirestore; -#import +#import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m index 988a3330197e..4c3e3eff80f4 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m @@ -3,7 +3,7 @@ // found in the LICENSE file. @import FirebaseFirestore; -#import +#import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m index 63776fa99207..98ef428a2084 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m @@ -3,7 +3,7 @@ // found in the LICENSE file. @import FirebaseFirestore; -#import +#import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m index 29e1a58948fc..560b7ffa7b73 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m @@ -3,7 +3,7 @@ // found in the LICENSE file. @import FirebaseFirestore; -#import +#import #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTTransactionStreamHandler.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h index b8cbed4d1b43..37ccba1305f8 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h @@ -10,7 +10,7 @@ #endif #import -#import +#import #import "FirestoreMessages.g.h" @interface FLTFirebaseFirestorePlugin diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index 5d4cd0f52b5f..d4b527d15199 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -89,6 +89,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url:"https://github.com/russellwheatley/test-flutterfire", exact: "0.0.24"), ], targets: [ .target( @@ -96,6 +97,14 @@ let package = Package( dependencies: [ // No product for firebase-core so we pull in the smallest one .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), + .product(name: "firebase-core-shared", package: "test-flutterfire") + ], + exclude: [ + // These are now pulled in as a remote dependency from FlutterFire repo + "FLTFirebasePlugin.m", + "FLTFirebasePluginRegistry.m", + "include/firebase_core/FLTFirebasePlugin.h", + "include/firebase_core/FLTFirebasePluginRegistry.h" ], resources: [ .process("Resources"), From 418065e605d1ea6b1401c25f731467f7ed44b523 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 12:22:27 +0100 Subject: [PATCH 31/74] fix: import of core header files --- .../cloud_firestore/FLTDocumentSnapshotStreamHandler.m | 5 +++++ .../Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m | 4 ++++ .../Sources/cloud_firestore/FLTFirebaseFirestoreReader.m | 4 ++++ .../Sources/cloud_firestore/FLTLoadBundleStreamHandler.m | 4 ++++ .../Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m | 4 ++++ .../cloud_firestore/FLTSnapshotsInSyncStreamHandler.m | 2 +- .../cloud_firestore/Public/FLTFirebaseFirestorePlugin.h | 4 ++++ 7 files changed, 26 insertions(+), 1 deletion(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m index 9b86c7f721fb..869e47a588ea 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m @@ -3,7 +3,12 @@ // found in the LICENSE file. @import FirebaseFirestore; +#if __has_include() +#import +#else #import +#endif + #import "include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index 5aa970fa3a33..cb2f5ee43ad1 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -3,7 +3,11 @@ // found in the LICENSE file. @import FirebaseFirestore; +#if __has_include() +#import +#else #import +#endif #import #import "FirebaseFirestoreInternal/FIRPersistentCacheIndexManager.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m index f69d78bf89d6..e343ab9aafc5 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m @@ -5,7 +5,11 @@ @import FirebaseFirestore; @import FirebaseCore; +#if __has_include() +#import +#else #import +#endif #import "include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m index a73dd35d1690..cc8bd9be9ae2 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m @@ -10,7 +10,11 @@ // @import FirebaseFirestore; +#if __has_include() +#import +#else #import +#endif #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m index 4c3e3eff80f4..bb80a2d6e69e 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m @@ -3,7 +3,11 @@ // found in the LICENSE file. @import FirebaseFirestore; +#if __has_include() +#import +#else #import +#endif #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m index 98ef428a2084..890cb244500a 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m @@ -3,7 +3,7 @@ // found in the LICENSE file. @import FirebaseFirestore; -#import + #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h index 37ccba1305f8..85e38b5ee2a5 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h @@ -10,7 +10,11 @@ #endif #import +#if __has_include() +#import +#else #import +#endif #import "FirestoreMessages.g.h" @interface FLTFirebaseFirestorePlugin From 75ef67412f97c502754356672d5aae8226d95e4f Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 12:26:25 +0100 Subject: [PATCH 32/74] fix: headers for cocopod builds --- .../Sources/cloud_firestore/FLTTransactionStreamHandler.m | 4 ++++ .../cloud_firestore/Private/FLTTransactionStreamHandler.h | 2 +- .../include/cloud_firestore/Private/FirestorePigeonParser.h | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m index 560b7ffa7b73..29252ca4821c 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m @@ -3,7 +3,11 @@ // found in the LICENSE file. @import FirebaseFirestore; +#if __has_include() +#import +#else #import +#endif #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTTransactionStreamHandler.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h index 7f0411281fc4..6b2b76e4395b 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h @@ -10,7 +10,7 @@ #endif @import FirebaseFirestore; -#import "../Public/FirestoreMessages.g.h" +#import #import diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h index 11178a54b9e8..fa1466ebcb62 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h @@ -6,7 +6,7 @@ @import FirebaseFirestore; #import -#import "../Public/FirestoreMessages.g.h" +#import @interface FirestorePigeonParser : NSObject From 45996876cd48b761e095eb46cb9261818aff330e Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 13:04:19 +0100 Subject: [PATCH 33/74] fix: header files for swift or cocoapods --- .../cloud_firestore/Private/FLTTransactionStreamHandler.h | 5 ++++- .../include/cloud_firestore/Private/FirestorePigeonParser.h | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h index 6b2b76e4395b..77db70aa2fc8 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h @@ -10,8 +10,11 @@ #endif @import FirebaseFirestore; +#if __has_include() #import - +#else +#import "../Public/FirestoreMessages.g.h" +#endif #import NS_ASSUME_NONNULL_BEGIN diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h index fa1466ebcb62..b5e713620460 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h @@ -6,8 +6,11 @@ @import FirebaseFirestore; #import +#if __has_include() #import - +#else +#import "../Public/FirestoreMessages.g.h" +#endif @interface FirestorePigeonParser : NSObject + (FIRFilter *_Nonnull)filterFromJson:(NSDictionary *_Nullable)map; From baa45106dd6b8770ee5ea2b90fbb222cf2a6af47 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 15:21:07 +0100 Subject: [PATCH 34/74] spm core generate tag script --- melos.yaml | 2 ++ scripts/generate_tag_spm_firebase_core.dart | 40 +++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 scripts/generate_tag_spm_firebase_core.dart diff --git a/melos.yaml b/melos.yaml index fac6e008d4ec..78ba09d39ad5 100644 --- a/melos.yaml +++ b/melos.yaml @@ -21,6 +21,8 @@ command: dart run scripts/generate_dataconnect_version.dart && \ git add packages/firebase_vertexai/firebase_vertexai/lib/src/vertex_version.dart && \ git add packages/firebase_data_connect/firebase_data_connect/lib/src/dataconnect_version.dart + post: | + dart run scripts/generate_tag_spm_firebase_core.dart bootstrap: # It seems so that running "pub get" in parallel has some issues (like diff --git a/scripts/generate_tag_spm_firebase_core.dart b/scripts/generate_tag_spm_firebase_core.dart new file mode 100644 index 000000000000..ef8b1105e9e4 --- /dev/null +++ b/scripts/generate_tag_spm_firebase_core.dart @@ -0,0 +1,40 @@ +import 'dart:io'; +import 'package:yaml/yaml.dart'; + +void main(List args) { + // Define the path to the pubspec.yaml file + const pubspecPath = 'packages/firebase_core/firebase_core/pubspec.yaml'; + + // Read the pubspec.yaml file + final pubspecFile = File(pubspecPath); + if (!pubspecFile.existsSync()) { + print('Error: pubspec.yaml file not found at $pubspecPath'); + return; + } + + // Parse the YAML content + final pubspecContent = pubspecFile.readAsStringSync(); + final pubspecYaml = loadYaml(pubspecContent); + + // Extract the version + final version = pubspecYaml['version']; + if (version == null) { + print('Error: Version not found in pubspec.yaml'); + return; + } + + const packageIdentifier = 'firebase-core-swift'; + + // Generate the tag + final tag = '$version-$packageIdentifier'; + print('Generated tag for firebase core swift: $tag'); + + // Run the git tag command + final result = Process.runSync('git', ['tag', tag]); + + if (result.exitCode == 0) { + print('Git tag created successfully for firebase core swift: $tag'); + } else { + print('Error creating git tag: ${result.stderr}'); + } +} From b43893c0e7a7ed1104586a0acf953255c4295088 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 15:21:16 +0100 Subject: [PATCH 35/74] rm dummy file --- Sources/remote_firebase_core/dummy.swift | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Sources/remote_firebase_core/dummy.swift diff --git a/Sources/remote_firebase_core/dummy.swift b/Sources/remote_firebase_core/dummy.swift deleted file mode 100644 index e69de29bb2d1..000000000000 From fb60fc9163e8b4a0eb39f924cdf662426b9a8957 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 15:23:37 +0100 Subject: [PATCH 36/74] symlink files for swift firebase core --- Sources/firebase_core_shared/FLTFirebasePlugin.m | 1 + Sources/firebase_core_shared/FLTFirebasePluginRegistry.m | 1 + Sources/firebase_core_shared/include/FLTFirebasePlugin.h | 1 + Sources/firebase_core_shared/include/FLTFirebasePluginRegistry.h | 1 + 4 files changed, 4 insertions(+) create mode 120000 Sources/firebase_core_shared/FLTFirebasePlugin.m create mode 120000 Sources/firebase_core_shared/FLTFirebasePluginRegistry.m create mode 120000 Sources/firebase_core_shared/include/FLTFirebasePlugin.h create mode 120000 Sources/firebase_core_shared/include/FLTFirebasePluginRegistry.h diff --git a/Sources/firebase_core_shared/FLTFirebasePlugin.m b/Sources/firebase_core_shared/FLTFirebasePlugin.m new file mode 120000 index 000000000000..c5c6fd40a27f --- /dev/null +++ b/Sources/firebase_core_shared/FLTFirebasePlugin.m @@ -0,0 +1 @@ +packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePlugin.m \ No newline at end of file diff --git a/Sources/firebase_core_shared/FLTFirebasePluginRegistry.m b/Sources/firebase_core_shared/FLTFirebasePluginRegistry.m new file mode 120000 index 000000000000..b279374e3bdf --- /dev/null +++ b/Sources/firebase_core_shared/FLTFirebasePluginRegistry.m @@ -0,0 +1 @@ +packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePluginRegistry.m \ No newline at end of file diff --git a/Sources/firebase_core_shared/include/FLTFirebasePlugin.h b/Sources/firebase_core_shared/include/FLTFirebasePlugin.h new file mode 120000 index 000000000000..b73a8931ef3a --- /dev/null +++ b/Sources/firebase_core_shared/include/FLTFirebasePlugin.h @@ -0,0 +1 @@ +packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebasePlugin.h \ No newline at end of file diff --git a/Sources/firebase_core_shared/include/FLTFirebasePluginRegistry.h b/Sources/firebase_core_shared/include/FLTFirebasePluginRegistry.h new file mode 120000 index 000000000000..492154f1d3ea --- /dev/null +++ b/Sources/firebase_core_shared/include/FLTFirebasePluginRegistry.h @@ -0,0 +1 @@ +packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebasePluginRegistry.h \ No newline at end of file From d6d6fce8a13998d9ac2b31395808aafc8ea83481 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 15:29:07 +0100 Subject: [PATCH 37/74] update the package.swift in root of project --- Package.swift | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/Package.swift b/Package.swift index 68ac01c7eb1e..65ef865d0eaa 100644 --- a/Package.swift +++ b/Package.swift @@ -8,29 +8,26 @@ import Foundation import PackageDescription -// Using this as a wrapper around firebase core, this allows retrieval of it via remote package -// whilst also preserving firebase core's Package.swift file needed by Flutter +// Shared Swift package manager code for firebase core let package = Package( name: "remote_firebase_core", platforms: [ - .iOS("13.0"), + .iOS("13.0") ], products: [ - .library(name: "firebase-core-target", targets: ["firebase_core_target"]), + .library(name: "firebase-core-shared", targets: ["firebase_core_shared"]) + ], + dependencies: [ + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: "11.0.0") ], targets: [ .target( - name: "firebase_core_target", - dependencies:[ - .target(name: "firebase_core") + name: "firebase_core_shared", + dependencies: [ + .product(name: "FirebaseInstallations", package: "firebase-ios-sdk") ], - path: "Sources/firebase_core_target" - ), - .target( - name: "firebase_core", - path: "packages/firebase_core/firebase_core/ios/firebase_core", - exclude: ["Package.swift"], - publicHeadersPath: "Sources/firebase_core/include" + path: "Sources/firebase_core_shared", + publicHeadersPath: "include" ), ] ) From 636d1fc0c349c7df745bbefbc1521b43dec89cbe Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 15:55:16 +0100 Subject: [PATCH 38/74] update package.swift files to point to flutterfire repo --- .../cloud_firestore/ios/cloud_firestore/Package.swift | 4 ++-- .../firebase_core/ios/firebase_core/Package.swift | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index a180f254a280..a628a807e2cf 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -75,7 +75,7 @@ let package = Package( // .package(name:"flutterfire", path: "../../../../.."), // TODO - this needs a version instead // This isn't working - .package(url:"https://github.com/russellwheatley/test-flutterfire", exact: "0.0.24"), + .package(url:"https://github.com/firebase/flutterfire", exact: "3.6.0-firebase-core-swift"), ], targets: [ .target( @@ -83,7 +83,7 @@ let package = Package( dependencies: [ .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), // Wrapper dependency - .product(name: "firebase-core-shared", package: "test-flutterfire") + .product(name: "firebase-core-shared", package: "flutterfire") ], resources: [ .process("Resources"), diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index d4b527d15199..eeb01778eca5 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -89,7 +89,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), - .package(url:"https://github.com/russellwheatley/test-flutterfire", exact: "0.0.24"), + .package(url: "https://github.com/firebase/flutterfire", exact: "3.6.0-firebase-core-swift"), ], targets: [ .target( @@ -97,7 +97,7 @@ let package = Package( dependencies: [ // No product for firebase-core so we pull in the smallest one .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), - .product(name: "firebase-core-shared", package: "test-flutterfire") + .product(name: "firebase-core-shared", package: "flutterfire") ], exclude: [ // These are now pulled in as a remote dependency from FlutterFire repo From b59e17cc15c422d63d54693872b79668e7dc737d Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 22 Oct 2024 15:57:47 +0100 Subject: [PATCH 39/74] reinsert Podfile for firestore --- .../cloud_firestore/example/ios/Podfile | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 packages/cloud_firestore/cloud_firestore/example/ios/Podfile diff --git a/packages/cloud_firestore/cloud_firestore/example/ios/Podfile b/packages/cloud_firestore/cloud_firestore/example/ios/Podfile new file mode 100644 index 000000000000..b10846a76189 --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/example/ios/Podfile @@ -0,0 +1,64 @@ +# Uncomment this line to define a global platform for your project +platform :ios, '13.0' + +require 'yaml' + +pubspec = YAML.load_file(File.join('..', File.join('..', 'pubspec.yaml'))) + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + + if defined?($FirebaseSDKVersion) + Pod::UI.puts "#{pubspec['name']}: Using user specified Firebase SDK version for FirebaseFirestore framework: '#{$FirebaseSDKVersion}'" + firebase_sdk_version = $FirebaseSDKVersion + else + firebase_core_script = File.join(File.expand_path('..', File.expand_path('..', File.expand_path('..', File.expand_path('..', File.dirname(__FILE__))))), 'firebase_core/firebase_core/ios/firebase_sdk_version.rb') + if File.exist?(firebase_core_script) + require firebase_core_script + firebase_sdk_version = firebase_sdk_version! + Pod::UI.puts "#{pubspec['name']}: Using Firebase SDK version '#{firebase_sdk_version}' defined in 'firebase_core for FirebaseFirestore framework'" + else + raise "Error - unable to locate firebase_ios_sdk.rb script in firebase_core, and no FirebaseSDKVersion specified" + end + end + + pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => "#{firebase_sdk_version}" +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET' + end + flutter_additional_ios_build_settings(target) + end +end From be0d16416480194482ccf6d31586cbab00c3f7b2 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Wed, 23 Oct 2024 16:01:14 +0100 Subject: [PATCH 40/74] update branch ahead of main merge --- Package.swift | 33 ----------- .../firebase_core_shared/FLTFirebasePlugin.m | 1 - .../FLTFirebasePluginRegistry.m | 1 - .../include/FLTFirebasePlugin.h | 1 - .../include/FLTFirebasePluginRegistry.h | 1 - melos.yaml | 2 - .../ios/Runner.xcodeproj/project.pbxproj | 56 +++++++++---------- scripts/generate_tag_spm_firebase_core.dart | 40 ------------- 8 files changed, 28 insertions(+), 107 deletions(-) delete mode 100644 Package.swift delete mode 120000 Sources/firebase_core_shared/FLTFirebasePlugin.m delete mode 120000 Sources/firebase_core_shared/FLTFirebasePluginRegistry.m delete mode 120000 Sources/firebase_core_shared/include/FLTFirebasePlugin.h delete mode 120000 Sources/firebase_core_shared/include/FLTFirebasePluginRegistry.h delete mode 100644 scripts/generate_tag_spm_firebase_core.dart diff --git a/Package.swift b/Package.swift deleted file mode 100644 index 65ef865d0eaa..000000000000 --- a/Package.swift +++ /dev/null @@ -1,33 +0,0 @@ -// swift-tools-version: 5.9 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -// Copyright 2024, the Chromium project authors. Please see the AUTHORS file -// for details. All rights reserved. Use of this source code is governed by a -// BSD-style license that can be found in the LICENSE file. - -import Foundation -import PackageDescription - -// Shared Swift package manager code for firebase core -let package = Package( - name: "remote_firebase_core", - platforms: [ - .iOS("13.0") - ], - products: [ - .library(name: "firebase-core-shared", targets: ["firebase_core_shared"]) - ], - dependencies: [ - .package(url: "https://github.com/firebase/firebase-ios-sdk", from: "11.0.0") - ], - targets: [ - .target( - name: "firebase_core_shared", - dependencies: [ - .product(name: "FirebaseInstallations", package: "firebase-ios-sdk") - ], - path: "Sources/firebase_core_shared", - publicHeadersPath: "include" - ), - ] -) diff --git a/Sources/firebase_core_shared/FLTFirebasePlugin.m b/Sources/firebase_core_shared/FLTFirebasePlugin.m deleted file mode 120000 index c5c6fd40a27f..000000000000 --- a/Sources/firebase_core_shared/FLTFirebasePlugin.m +++ /dev/null @@ -1 +0,0 @@ -packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePlugin.m \ No newline at end of file diff --git a/Sources/firebase_core_shared/FLTFirebasePluginRegistry.m b/Sources/firebase_core_shared/FLTFirebasePluginRegistry.m deleted file mode 120000 index b279374e3bdf..000000000000 --- a/Sources/firebase_core_shared/FLTFirebasePluginRegistry.m +++ /dev/null @@ -1 +0,0 @@ -packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePluginRegistry.m \ No newline at end of file diff --git a/Sources/firebase_core_shared/include/FLTFirebasePlugin.h b/Sources/firebase_core_shared/include/FLTFirebasePlugin.h deleted file mode 120000 index b73a8931ef3a..000000000000 --- a/Sources/firebase_core_shared/include/FLTFirebasePlugin.h +++ /dev/null @@ -1 +0,0 @@ -packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebasePlugin.h \ No newline at end of file diff --git a/Sources/firebase_core_shared/include/FLTFirebasePluginRegistry.h b/Sources/firebase_core_shared/include/FLTFirebasePluginRegistry.h deleted file mode 120000 index 492154f1d3ea..000000000000 --- a/Sources/firebase_core_shared/include/FLTFirebasePluginRegistry.h +++ /dev/null @@ -1 +0,0 @@ -packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/include/firebase_core/FLTFirebasePluginRegistry.h \ No newline at end of file diff --git a/melos.yaml b/melos.yaml index 78ba09d39ad5..fac6e008d4ec 100644 --- a/melos.yaml +++ b/melos.yaml @@ -21,8 +21,6 @@ command: dart run scripts/generate_dataconnect_version.dart && \ git add packages/firebase_vertexai/firebase_vertexai/lib/src/vertex_version.dart && \ git add packages/firebase_data_connect/firebase_data_connect/lib/src/dataconnect_version.dart - post: | - dart run scripts/generate_tag_spm_firebase_core.dart bootstrap: # It seems so that running "pub get" in parallel has some issues (like diff --git a/packages/firebase_core/firebase_core/example/ios/Runner.xcodeproj/project.pbxproj b/packages/firebase_core/firebase_core/example/ios/Runner.xcodeproj/project.pbxproj index dbae6965e211..9f0caee183e9 100644 --- a/packages/firebase_core/firebase_core/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/firebase_core/firebase_core/example/ios/Runner.xcodeproj/project.pbxproj @@ -15,7 +15,7 @@ 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - CC8B39E3ACF96AAA7558280C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EBB2450D3A9A002F48D58D3 /* Pods_Runner.framework */; }; + E766DA7F3F0A9F9BE32353CF /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6052F8751F55A7BF8B2BF51 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -32,15 +32,14 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0F72582C036F53C7EA355605 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 42A2737C2B544A2E56A3A04E /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 63CB8F00B8C52FB1D84FF6EC /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 720AED231F4B8D9744E84B25 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 7EBB2450D3A9A002F48D58D3 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -49,7 +48,8 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B940C408F701618BB3D017B0 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + B6052F8751F55A7BF8B2BF51 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E9CB62AF78D6D61CD2D1E629 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -58,17 +58,17 @@ buildActionMask = 2147483647; files = ( 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, - CC8B39E3ACF96AAA7558280C /* Pods_Runner.framework in Frameworks */, + E766DA7F3F0A9F9BE32353CF /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 2CE3A5071D061A62942DA14B /* Frameworks */ = { + 482D7FAB0417043D5F05ECBE /* Frameworks */ = { isa = PBXGroup; children = ( - 7EBB2450D3A9A002F48D58D3 /* Pods_Runner.framework */, + B6052F8751F55A7BF8B2BF51 /* Pods_Runner.framework */, ); name = Frameworks; sourceTree = ""; @@ -76,9 +76,9 @@ 71DA98800DC8DF4E3AF74BFA /* Pods */ = { isa = PBXGroup; children = ( - 63CB8F00B8C52FB1D84FF6EC /* Pods-Runner.debug.xcconfig */, - B940C408F701618BB3D017B0 /* Pods-Runner.release.xcconfig */, - 42A2737C2B544A2E56A3A04E /* Pods-Runner.profile.xcconfig */, + 720AED231F4B8D9744E84B25 /* Pods-Runner.debug.xcconfig */, + E9CB62AF78D6D61CD2D1E629 /* Pods-Runner.release.xcconfig */, + 0F72582C036F53C7EA355605 /* Pods-Runner.profile.xcconfig */, ); path = Pods; sourceTree = ""; @@ -101,7 +101,7 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 71DA98800DC8DF4E3AF74BFA /* Pods */, - 2CE3A5071D061A62942DA14B /* Frameworks */, + 482D7FAB0417043D5F05ECBE /* Frameworks */, ); sourceTree = ""; }; @@ -144,7 +144,7 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 48B62E2CC1BC10B54D3853B7 /* [CP] Check Pods Manifest.lock */, + 9980DA9AFE8C30A0C57BB824 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, @@ -231,42 +231,42 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 48B62E2CC1BC10B54D3853B7 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 9980DA9AFE8C30A0C57BB824 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Run Script"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ diff --git a/scripts/generate_tag_spm_firebase_core.dart b/scripts/generate_tag_spm_firebase_core.dart deleted file mode 100644 index ef8b1105e9e4..000000000000 --- a/scripts/generate_tag_spm_firebase_core.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'dart:io'; -import 'package:yaml/yaml.dart'; - -void main(List args) { - // Define the path to the pubspec.yaml file - const pubspecPath = 'packages/firebase_core/firebase_core/pubspec.yaml'; - - // Read the pubspec.yaml file - final pubspecFile = File(pubspecPath); - if (!pubspecFile.existsSync()) { - print('Error: pubspec.yaml file not found at $pubspecPath'); - return; - } - - // Parse the YAML content - final pubspecContent = pubspecFile.readAsStringSync(); - final pubspecYaml = loadYaml(pubspecContent); - - // Extract the version - final version = pubspecYaml['version']; - if (version == null) { - print('Error: Version not found in pubspec.yaml'); - return; - } - - const packageIdentifier = 'firebase-core-swift'; - - // Generate the tag - final tag = '$version-$packageIdentifier'; - print('Generated tag for firebase core swift: $tag'); - - // Run the git tag command - final result = Process.runSync('git', ['tag', tag]); - - if (result.exitCode == 0) { - print('Git tag created successfully for firebase core swift: $tag'); - } else { - print('Error creating git tag: ${result.stderr}'); - } -} From d5cfa4a29e9fb3118e2d483f9c3c0758f38d3931 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Wed, 23 Oct 2024 16:13:25 +0100 Subject: [PATCH 41/74] fix: import headers for shared iOS --- .../firebase_core/Sources/firebase_core/FLTFirebasePlugin.m | 4 ++++ .../Sources/firebase_core/FLTFirebasePluginRegistry.m | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePlugin.m b/packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePlugin.m index 16433a2f26ea..2b00388f7f1c 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePlugin.m +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePlugin.m @@ -2,7 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#if __has_include("include/firebase_core/FLTFirebasePlugin.h") #import "include/firebase_core/FLTFirebasePlugin.h" +#else +#import "include/FLTFirebasePlugin.h" +#endif // Firebase default app name. NSString *_Nonnull const kFIRDefaultAppNameIOS = @"__FIRAPP_DEFAULT"; diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePluginRegistry.m b/packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePluginRegistry.m index 5f5886274d5c..a6f2f5657aae 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePluginRegistry.m +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Sources/firebase_core/FLTFirebasePluginRegistry.m @@ -2,7 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#if __has_include("include/firebase_core/FLTFirebasePluginRegistry.h") #import "include/firebase_core/FLTFirebasePluginRegistry.h" +#else +#import "include/FLTFirebasePluginRegistry.h" +#endif #if __has_include() #import From 863744f9936895ddd8afd1d1e5d6a857e8f36989 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 28 Oct 2024 12:16:58 +0000 Subject: [PATCH 42/74] chore: rm dead code --- .../cloud_firestore/ios/cloud_firestore/Package.swift | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index a628a807e2cf..5734da040cab 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -71,10 +71,6 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), - // This works - // .package(name:"flutterfire", path: "../../../../.."), - // TODO - this needs a version instead - // This isn't working .package(url:"https://github.com/firebase/flutterfire", exact: "3.6.0-firebase-core-swift"), ], targets: [ From d71500e785bc1e0e3ca0c92a3ecdebcb4f1e58ba Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 28 Oct 2024 14:32:54 +0000 Subject: [PATCH 43/74] update Package.swifts to get versions --- .../ios/cloud_firestore/Package.swift | 95 +++++++++++++++---- .../ios/firebase_core/Package.swift | 15 ++- 2 files changed, 89 insertions(+), 21 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index 5734da040cab..c5482d571219 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -15,13 +15,56 @@ enum ConfigurationError: Error { case invalidFormat(String) } -let iosRootDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString +let firestoreDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString .dropLast()) -func loadPubspecVersion() throws -> (libraryVersion: String, iosSdkVersion: String) { - let pubspecPath = NSString.path(withComponents: [iosRootDirectory, "..", "..", "pubspec.yaml"]) +func loadFirebaseSDKVersion() throws -> String { + let firebaseCoreScriptPath = NSString.path(withComponents: [ + firestoreDirectory, + "..", + "..", + "..", + "..", + "firebase_core", + "firebase_core", + "ios", + "firebase_sdk_version.rb", + ]) do { - let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) + let content = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) + let pattern = #"def firebase_sdk_version!\(\)\n\s+'([^']+)'\nend"# + if let regex = try? NSRegularExpression(pattern: pattern, options: []), + let match = regex.firstMatch( + in: content, + range: NSRange(content.startIndex..., in: content) + ) { + if let versionRange = Range(match.range(at: 1), in: content) { + return String(content[versionRange]) + } else { + throw ConfigurationError.invalidFormat("Invalid format in firebase_sdk_version.rb") + } + } else { + throw ConfigurationError.parsingError("No match found in firebase_sdk_version.rb") + } + } catch { + throw ConfigurationError + .fileNotFound("Error loading or parsing firebase_sdk_version.rb: \(error)") + } +} + +func loadFirebaseCoreVersion() throws -> String { +let firebaseCorePubspecPath = NSString.path(withComponents: [ + firestoreDirectory, + "..", + "..", + "..", + "..", + "firebase_core", + "firebase_core", + "pubspec.yaml", + ]) + do { + let yamlString = try String(contentsOfFile: firebaseCorePubspecPath, encoding: .utf8) let lines = yamlString.split(separator: "\n") guard let versionLine = lines.first(where: { $0.starts(with: "version:") }) else { @@ -30,17 +73,27 @@ func loadPubspecVersion() throws -> (libraryVersion: String, iosSdkVersion: Stri let libraryVersion = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) .replacingOccurrences(of: "+", with: "-") - // Adjusted to find ios_sdk under the firebase key - guard let firebaseIndex = lines.firstIndex(where: { $0.starts(with: "firebase:") }) else { - throw ConfigurationError.invalidFormat("No firebase section found in pubspec.yaml") - } - let iosSdkLine = lines.dropFirst(firebaseIndex + 1).first(where: { $0.trimmingCharacters(in: .whitespaces).starts(with: "ios_sdk:") }) - guard let iosSdkLine = iosSdkLine else { - throw ConfigurationError.invalidFormat("No ios_sdk line found in pubspec.yaml") + + return libraryVersion + } catch { + throw ConfigurationError.fileNotFound("Error loading or parsing firebase_core pubspec.yaml: \(error)") + } +} + +func loadPubspecVersion() throws -> String { + let pubspecPath = NSString.path(withComponents: [firestoreDirectory, "..", "..", "pubspec.yaml"]) + do { + let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) + let lines = yamlString.split(separator: "\n") + + guard let versionLine = lines.first(where: { $0.starts(with: "version:") }) else { + throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") } - let iosSdkVersion = iosSdkLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + let libraryVersion = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + .replacingOccurrences(of: "+", with: "-") - return (libraryVersion, iosSdkVersion) + + return libraryVersion } catch { throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") } @@ -48,11 +101,13 @@ func loadPubspecVersion() throws -> (libraryVersion: String, iosSdkVersion: Stri let library_version: String let firebase_sdk_version_string: String +let firebase_core_version_string: String +let shared_spm_tag = "-firebase-core-swift" do { - let versions = try loadPubspecVersion() - library_version = versions.libraryVersion - firebase_sdk_version_string = versions.iosSdkVersion + library_version = try loadPubspecVersion() + firebase_sdk_version_string = try loadFirebaseSDKVersion() + firebase_core_version_string = try loadFirebaseCoreVersion() } catch { fatalError("Failed to load configuration: \(error)") } @@ -61,6 +116,12 @@ guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") } +// TODO - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle +// but I don't think it'll work as Swift versioning requires version-[tag name] +guard let shared_spm_version = Version("\(firebase_core_version_string)\(shared_spm_tag)") else { + fatalError("Invalid firebase_core version: \(firebase_core_version_string)\(shared_spm_tag)") +} + let package = Package( name: "cloud_firestore", platforms: [ @@ -71,7 +132,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), - .package(url:"https://github.com/firebase/flutterfire", exact: "3.6.0-firebase-core-swift"), + .package(url:"https://github.com/firebase/flutterfire", exact: shared_spm_version), ], targets: [ .target( diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index eeb01778eca5..a394079a775e 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -65,11 +65,12 @@ func loadFirebaseSDKVersion() throws -> String { } } -let library_version: String +let library_version_string: String let firebase_sdk_version_string: String +let shared_spm_tag = "-firebase-core-swift" do { - library_version = try loadPubspecVersion() + library_version_string = try loadPubspecVersion() firebase_sdk_version_string = try loadFirebaseSDKVersion() } catch { fatalError("Failed to load configuration: \(error)") @@ -79,6 +80,12 @@ guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") } +// TODO - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle +// but I don't think it'll work as Swift versioning requires version-[tag name] +guard let shared_spm_version = Version("\(library_version_string)\(shared_spm_tag)") else { + fatalError("Invalid firebase_core version: \(library_version_string)\(shared_spm_tag)") +} + let package = Package( name: "firebase_core", platforms: [ @@ -89,7 +96,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), - .package(url: "https://github.com/firebase/flutterfire", exact: "3.6.0-firebase-core-swift"), + .package(url: "https://github.com/firebase/flutterfire", exact: shared_spm_version), ], targets: [ .target( @@ -111,7 +118,7 @@ let package = Package( ], cSettings: [ .headerSearchPath("include/firebase_core"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(library_version_string)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] ), From b3bdb32409b85553c401e49aa471dfb1a088e9ae Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 28 Oct 2024 14:43:48 +0000 Subject: [PATCH 44/74] tests: swift integration for core & firestore --- .github/workflows/all_plugins.yaml | 6 +- .../workflows/scripts/swift-integration.dart | 53 ++++++++++++++++ .../workflows/scripts/swift-integration.sh | 63 ------------------- 3 files changed, 56 insertions(+), 66 deletions(-) create mode 100644 .github/workflows/scripts/swift-integration.dart delete mode 100755 .github/workflows/scripts/swift-integration.sh diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 19d75336427e..67ae2e447b99 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -135,10 +135,10 @@ jobs: with: melos-version: '5.3.0' - name: 'Swift Integration Setup' - run: flutter config --enable-swift-package-manager + run: flutter config --enable-swift-package-manager - name: 'Build Apps with Swift Package Manager' - run: ./.github/workflows/scripts/swift-integration.sh - + run: dart ./.github/workflows/scripts/swift-integration.dart + test: runs-on: ubuntu-latest timeout-minutes: 30 diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart new file mode 100644 index 000000000000..657c0732c467 --- /dev/null +++ b/.github/workflows/scripts/swift-integration.dart @@ -0,0 +1,53 @@ +import 'dart:io'; + +void main() async { + await buildFirebaseCoreExample('ios', 'firebase_core'); + await buildFirebaseCoreExample('macos', 'firebase_core'); + await buildFirebaseCoreExample('ios', 'cloud_firestore'); + await buildFirebaseCoreExample('macos', 'cloud_firestore'); +} + +Future buildSwiftExampleApp(String platform, String plugin) async { + final platformName = platform == 'ios' ? 'iOS' : 'macOS'; + + print('Building firebase core $platformName example app with swift (SPM)'); + + final directory = Directory('packages/$plugin/$plugin/example/$platform'); + if (!directory.existsSync()) { + print('Directory does not exist: ${directory.path}'); + exit(1); + } + + // Change to the appropriate directory + Directory.current = directory; + + // Remove Podfile and deintegrate pods + await _runCommand('rm', ['Podfile']); + await _runCommand('pod', ['deintegrate']); + + // Run the flutter build command + final flutterResult = await _runCommand('flutter', ['build', platform, '--no-codesign']); + + // Check if the flutter build command was successful + if (flutterResult.exitCode != 0) { + print('Flutter build failed with exit code ${flutterResult.exitCode}.'); + exit(1); + } + + // Check the output for the specific string + if (flutterResult.stdout.contains('Running pod install')) { + print('Failed. Pods are being installed when they should not be.'); + exit(1); + } else { + print('Successfully built $platformName project using Swift Package Manager.'); + } +} + +Future _runCommand(String command, List arguments) async { + final result = await Process.run(command, arguments); + if (result.exitCode != 0) { + print('Command failed: $command ${arguments.join(' ')}'); + print('Error: ${result.stderr}'); + } + return result; +} diff --git a/.github/workflows/scripts/swift-integration.sh b/.github/workflows/scripts/swift-integration.sh deleted file mode 100755 index b9252eca47c7..000000000000 --- a/.github/workflows/scripts/swift-integration.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash - -set -e - -# Just Core example has pure Swift capability at the moment - - -# firebase_core iOS example - -# Setup for SPM integration - -echo "Building firebase core iOS example app with swift (SPM)" - -cd packages/firebase_core/firebase_core/example/ios -rm Podfile -pod deintegrate - -# Run the flutter build command and capture the output and exit status -flutter_output=$(flutter build ios --no-codesign) -flutter_exit_code=$? - -# Check if the flutter build command was successful -if [[ $flutter_exit_code -ne 0 ]]; then - echo "Flutter build failed with exit code $flutter_exit_code." - exit 1 -fi - -# Check the output for the specific string -if [[ "$flutter_output" =~ "Running pod install" ]]; then - echo "Failed. Pods are being installed when they should not be." - exit 1 -else - echo "Successfully built iOS project using Swift Package Manager." -fi - -# firebase_core macOS example - -# Setup for SPM integration - -echo "Building firebase core macOS example app with swift (SPM)" - -cd ../macos -rm Podfile -pod deintegrate - -# Run the flutter build command and capture the output and exit status -flutter_output=$(flutter build macos) -flutter_exit_code=$? - -# Check if the flutter build command was successful -if [[ $flutter_exit_code -ne 0 ]]; then - echo "Flutter build failed with exit code $flutter_exit_code." - exit 1 -fi - -# Check the output for the specific string -if [[ "$flutter_output" =~ "Running pod install" ]]; then - echo "Failed. Pods are being installed when they should not be." - exit 1 -else - echo "Successfully built macOS project using Swift Package Manager." - exit 0 -fi From 727754d015b97fb8a90ab911365bd921f863acda Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 28 Oct 2024 14:49:07 +0000 Subject: [PATCH 45/74] format --- .../ios/cloud_firestore/Package.swift | 14 ++++++-------- .../FLTDocumentSnapshotStreamHandler.m | 1 - .../cloud_firestore/FLTFirebaseFirestoreUtils.m | 2 +- .../cloud_firestore/FLTFirebaseFirestoreWriter.m | 2 +- .../FLTSnapshotsInSyncStreamHandler.m | 3 +-- .../pigeons/messages.dart | 3 ++- .../firebase_core/ios/firebase_core/Package.swift | 6 +++--- 7 files changed, 14 insertions(+), 17 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index c5482d571219..aa46e00e66f8 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -8,7 +8,6 @@ import Foundation import PackageDescription - enum ConfigurationError: Error { case fileNotFound(String) case parsingError(String) @@ -53,7 +52,7 @@ func loadFirebaseSDKVersion() throws -> String { } func loadFirebaseCoreVersion() throws -> String { -let firebaseCorePubspecPath = NSString.path(withComponents: [ + let firebaseCorePubspecPath = NSString.path(withComponents: [ firestoreDirectory, "..", "..", @@ -73,10 +72,10 @@ let firebaseCorePubspecPath = NSString.path(withComponents: [ let libraryVersion = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) .replacingOccurrences(of: "+", with: "-") - return libraryVersion } catch { - throw ConfigurationError.fileNotFound("Error loading or parsing firebase_core pubspec.yaml: \(error)") + throw ConfigurationError + .fileNotFound("Error loading or parsing firebase_core pubspec.yaml: \(error)") } } @@ -92,7 +91,6 @@ func loadPubspecVersion() throws -> String { let libraryVersion = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) .replacingOccurrences(of: "+", with: "-") - return libraryVersion } catch { throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") @@ -116,7 +114,7 @@ guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") } -// TODO - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle +// TODO: - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle // but I don't think it'll work as Swift versioning requires version-[tag name] guard let shared_spm_version = Version("\(firebase_core_version_string)\(shared_spm_tag)") else { fatalError("Invalid firebase_core version: \(firebase_core_version_string)\(shared_spm_tag)") @@ -132,7 +130,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), - .package(url:"https://github.com/firebase/flutterfire", exact: shared_spm_version), + .package(url: "https://github.com/firebase/flutterfire", exact: shared_spm_version), ], targets: [ .target( @@ -140,7 +138,7 @@ let package = Package( dependencies: [ .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), // Wrapper dependency - .product(name: "firebase-core-shared", package: "flutterfire") + .product(name: "firebase-core-shared", package: "flutterfire"), ], resources: [ .process("Resources"), diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m index 869e47a588ea..a787f8ad92b9 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m @@ -9,7 +9,6 @@ #import #endif - #import "include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FirestorePigeonParser.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m index d24d940b334c..d49fbc7f4a79 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m @@ -5,9 +5,9 @@ @import FirebaseFirestore; @import FirebaseCore; +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h" -#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h" @implementation FLTFirebaseFirestoreReaderWriter diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m index 6868868a3742..8e2ea182fa31 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m @@ -5,8 +5,8 @@ @import FirebaseFirestore; @import FirebaseCore; -#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h" @implementation FLTFirebaseFirestoreWriter : FlutterStandardWriter diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m index 890cb244500a..1003be610006 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m @@ -4,9 +4,8 @@ @import FirebaseFirestore; - -#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" #import "include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h" +#import "include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h" @interface FLTSnapshotsInSyncStreamHandler () @property(readwrite, strong) id listenerRegistration; diff --git a/packages/cloud_firestore/cloud_firestore_platform_interface/pigeons/messages.dart b/packages/cloud_firestore/cloud_firestore_platform_interface/pigeons/messages.dart index 54826443686f..19a5ddfdc4ee 100644 --- a/packages/cloud_firestore/cloud_firestore_platform_interface/pigeons/messages.dart +++ b/packages/cloud_firestore/cloud_firestore_platform_interface/pigeons/messages.dart @@ -18,7 +18,8 @@ import 'package:pigeon/pigeon.dart'; ), objcHeaderOut: '../cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h', - objcSourceOut: '../cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m', + objcSourceOut: + '../cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m', cppHeaderOut: '../cloud_firestore/windows/messages.g.h', cppSourceOut: '../cloud_firestore/windows/messages.g.cpp', cppOptions: CppOptions(namespace: 'cloud_firestore_windows'), diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index a394079a775e..4749e15b1351 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -80,7 +80,7 @@ guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") } -// TODO - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle +// TODO: - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle // but I don't think it'll work as Swift versioning requires version-[tag name] guard let shared_spm_version = Version("\(library_version_string)\(shared_spm_tag)") else { fatalError("Invalid firebase_core version: \(library_version_string)\(shared_spm_tag)") @@ -104,14 +104,14 @@ let package = Package( dependencies: [ // No product for firebase-core so we pull in the smallest one .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), - .product(name: "firebase-core-shared", package: "flutterfire") + .product(name: "firebase-core-shared", package: "flutterfire"), ], exclude: [ // These are now pulled in as a remote dependency from FlutterFire repo "FLTFirebasePlugin.m", "FLTFirebasePluginRegistry.m", "include/firebase_core/FLTFirebasePlugin.h", - "include/firebase_core/FLTFirebasePluginRegistry.h" + "include/firebase_core/FLTFirebasePluginRegistry.h", ], resources: [ .process("Resources"), From f7bf67e3e65572942b1c904afd33471510d7d86b Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 28 Oct 2024 14:52:04 +0000 Subject: [PATCH 46/74] test: fix tests --- .github/workflows/scripts/swift-integration.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index 657c0732c467..0ac4a98220e0 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -1,10 +1,10 @@ import 'dart:io'; void main() async { - await buildFirebaseCoreExample('ios', 'firebase_core'); - await buildFirebaseCoreExample('macos', 'firebase_core'); - await buildFirebaseCoreExample('ios', 'cloud_firestore'); - await buildFirebaseCoreExample('macos', 'cloud_firestore'); + await buildSwiftExampleApp('ios', 'firebase_core'); + await buildSwiftExampleApp('macos', 'firebase_core'); + await buildSwiftExampleApp('ios', 'cloud_firestore'); + await buildSwiftExampleApp('macos', 'cloud_firestore'); } Future buildSwiftExampleApp(String platform, String plugin) async { From e4df845bdb71c64c0c156c4938b1807edcfb7c0f Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 28 Oct 2024 15:10:09 +0000 Subject: [PATCH 47/74] fix: symlinks to macOS --- .../cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h | 2 +- .../cloud_firestore/Private/FLTFirebaseFirestoreExtension.h | 2 +- .../cloud_firestore/Private/FLTFirebaseFirestoreReader.h | 2 +- .../include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h | 2 +- .../cloud_firestore/Private/FLTFirebaseFirestoreWriter.h | 2 +- .../cloud_firestore/Private/FLTLoadBundleStreamHandler.h | 2 +- .../cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h | 2 +- .../cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h | 2 +- .../cloud_firestore/Private/FLTTransactionStreamHandler.h | 2 +- .../include/cloud_firestore/Private/FirestorePigeonParser.h | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h index 0173d3e295ad..61d4d26dcb13 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h index 9dd0452d8944..878691155dfe 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreExtension.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h index f2e981ec0065..408a177ffc29 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreReader.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h index 175b2f2d2139..f09ad17e8322 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h index 6a01c281581c..4c7ea1f49445 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreWriter.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h index 5899eee59821..be3fee9e19a9 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h index cd459e4797e1..31805df68cc2 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTQuerySnapshotStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h index ac4d8d73bfe1..a144ccda21cf 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTSnapshotsInSyncStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h index 8d51187bd803..25a76252d90e 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h index ded9d35a2350..34aeced7af29 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h \ No newline at end of file From 86e83d5d71cbf6d5c89cd733b4b648bdd54f391c Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 28 Oct 2024 15:11:40 +0000 Subject: [PATCH 48/74] public symlinks --- .../cloud_firestore/Public/CustomPigeonHeaderFirestore.h | 2 +- .../include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h | 2 +- .../include/cloud_firestore/Public/FirestoreMessages.g.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h index 116e8c546966..111ed085e8b8 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/CustomPigeonHeaderFirestore.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h index ecb3e2f9a9fc..9d774a9ce963 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FLTFirebaseFirestorePlugin.h \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h index b0170b1f408b..cfab6484dd12 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h \ No newline at end of file +../../../../../../../ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Public/FirestoreMessages.g.h \ No newline at end of file From 2247b2340a91d75c6e903dcbe2b2353eca9aeabf Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 28 Oct 2024 15:15:29 +0000 Subject: [PATCH 49/74] chore: update symlinks for macOS --- .../Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestoreReader.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m | 2 +- .../Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m | 2 +- .../Sources/cloud_firestore/FLTLoadBundleStreamHandler.m | 2 +- .../Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m | 2 +- .../Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m | 2 +- .../Sources/cloud_firestore/FLTTransactionStreamHandler.m | 2 +- .../Sources/cloud_firestore/FirestoreMessages.g.m | 2 +- .../Sources/cloud_firestore/FirestorePigeonParser.m | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m index 50692124261c..aeb6ebc5c006 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTDocumentSnapshotStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m index 7d568dbd72b8..bd4cf1dd5fde 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreExtension.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m index 3f937ef7f25f..f791caf0cc3c 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestorePlugin.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m index 85ff3fdb6d19..e89ebb8929cc 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreReader.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m index 43fe358f0dcf..babea1c24081 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreUtils.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m index b8bb909a3a1e..e4b626a19876 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTFirebaseFirestoreWriter.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m index 3649effa6699..b4114c3d04d5 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTLoadBundleStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m index 22c5353d51d0..1f1bbb9f3bef 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTQuerySnapshotStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m index a6b4bb995c88..7e50903ad6be 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTSnapshotsInSyncStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m index d8b79c20ef63..66555a825643 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FLTTransactionStreamHandler.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m index 4c4f2622d98f..83b8548becc8 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FirestoreMessages.g.m \ No newline at end of file diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m index 209d05266380..32c6ef6bf146 120000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m @@ -1 +1 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m \ No newline at end of file +../../../../ios/cloud_firestore/Sources/cloud_firestore/FirestorePigeonParser.m \ No newline at end of file From cbf486960acda440101ebd60a1abb0a438e89fb3 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Mon, 28 Oct 2024 16:03:13 +0000 Subject: [PATCH 50/74] firestore macos packag.swift file --- .../macos/cloud_firestore/Package.swift | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift new file mode 100644 index 000000000000..ea561c45394c --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Package.swift @@ -0,0 +1,154 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +// Copyright 2024, the Chromium project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import Foundation +import PackageDescription + +enum ConfigurationError: Error { + case fileNotFound(String) + case parsingError(String) + case invalidFormat(String) +} + +let firestoreDirectory = String(URL(string: #file)!.deletingLastPathComponent().absoluteString + .dropLast()) + +func loadFirebaseSDKVersion() throws -> String { + let firebaseCoreScriptPath = NSString.path(withComponents: [ + firestoreDirectory, + "..", + "..", + "..", + "..", + "firebase_core", + "firebase_core", + "ios", + "firebase_sdk_version.rb", + ]) + do { + let content = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) + let pattern = #"def firebase_sdk_version!\(\)\n\s+'([^']+)'\nend"# + if let regex = try? NSRegularExpression(pattern: pattern, options: []), + let match = regex.firstMatch( + in: content, + range: NSRange(content.startIndex..., in: content) + ) { + if let versionRange = Range(match.range(at: 1), in: content) { + return String(content[versionRange]) + } else { + throw ConfigurationError.invalidFormat("Invalid format in firebase_sdk_version.rb") + } + } else { + throw ConfigurationError.parsingError("No match found in firebase_sdk_version.rb") + } + } catch { + throw ConfigurationError + .fileNotFound("Error loading or parsing firebase_sdk_version.rb: \(error)") + } +} + +func loadFirebaseCoreVersion() throws -> String { + let firebaseCorePubspecPath = NSString.path(withComponents: [ + firestoreDirectory, + "..", + "..", + "..", + "..", + "firebase_core", + "firebase_core", + "pubspec.yaml", + ]) + do { + let yamlString = try String(contentsOfFile: firebaseCorePubspecPath, encoding: .utf8) + let lines = yamlString.split(separator: "\n") + + guard let versionLine = lines.first(where: { $0.starts(with: "version:") }) else { + throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") + } + let libraryVersion = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + .replacingOccurrences(of: "+", with: "-") + + return libraryVersion + } catch { + throw ConfigurationError + .fileNotFound("Error loading or parsing firebase_core pubspec.yaml: \(error)") + } +} + +func loadPubspecVersion() throws -> String { + let pubspecPath = NSString.path(withComponents: [firestoreDirectory, "..", "..", "pubspec.yaml"]) + do { + let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) + let lines = yamlString.split(separator: "\n") + + guard let versionLine = lines.first(where: { $0.starts(with: "version:") }) else { + throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") + } + let libraryVersion = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + .replacingOccurrences(of: "+", with: "-") + + return libraryVersion + } catch { + throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") + } +} + +let library_version: String +let firebase_sdk_version_string: String +let firebase_core_version_string: String +let shared_spm_tag = "-firebase-core-swift" + +do { + library_version = try loadPubspecVersion() + firebase_sdk_version_string = try loadFirebaseSDKVersion() + firebase_core_version_string = try loadFirebaseCoreVersion() +} catch { + fatalError("Failed to load configuration: \(error)") +} + +guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { + fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") +} + +// TODO: - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle +// but I don't think it'll work as Swift versioning requires version-[tag name] +guard let shared_spm_version = Version("\(firebase_core_version_string)\(shared_spm_tag)") else { + fatalError("Invalid firebase_core version: \(firebase_core_version_string)\(shared_spm_tag)") +} + +let package = Package( + name: "cloud_firestore", + platforms: [ + .macOS("10.15"), + ], + products: [ + .library(name: "cloud-firestore", targets: ["cloud_firestore"]), + ], + dependencies: [ + .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/flutterfire", exact: shared_spm_version), + ], + targets: [ + .target( + name: "cloud_firestore", + dependencies: [ + .product(name: "FirebaseFirestore", package: "firebase-ios-sdk"), + // Wrapper dependency + .product(name: "firebase-core-shared", package: "flutterfire"), + ], + resources: [ + .process("Resources"), + ], + cSettings: [ + .headerSearchPath("include/cloud_firestore/Private"), + .headerSearchPath("include/cloud_firestore/Public"), + .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_NAME", to: "\"flutter-fire-fst\""), + ] + ), + ] +) From fff70c9c6fff84c20796f75fdd751333cec7ec17 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 10:39:47 +0000 Subject: [PATCH 51/74] update core macos package.swift --- .../macos/firebase_core/Package.swift | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift index c4d04289386e..bc5d45a12803 100644 --- a/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/macos/firebase_core/Package.swift @@ -65,11 +65,12 @@ func loadFirebaseSDKVersion() throws -> String { } } -let library_version: String +let library_version_string: String let firebase_sdk_version_string: String +let shared_spm_tag = "-firebase-core-swift" do { - library_version = try loadPubspecVersion() + library_version_string = try loadPubspecVersion() firebase_sdk_version_string = try loadFirebaseSDKVersion() } catch { fatalError("Failed to load configuration: \(error)") @@ -79,6 +80,12 @@ guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") } +// TODO: - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle +// but I don't think it'll work as Swift versioning requires version-[tag name] +guard let shared_spm_version = Version("\(library_version_string)\(shared_spm_tag)") else { + fatalError("Invalid firebase_core version: \(library_version_string)\(shared_spm_tag)") +} + let package = Package( name: "firebase_core", platforms: [ @@ -89,6 +96,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk", from: firebase_sdk_version), + .package(url: "https://github.com/firebase/flutterfire", exact: shared_spm_version), ], targets: [ .target( @@ -96,13 +104,21 @@ let package = Package( dependencies: [ // No product for firebase-core so we pull in the smallest one .product(name: "FirebaseInstallations", package: "firebase-ios-sdk"), + .product(name: "firebase-core-shared", package: "flutterfire"), + ], + exclude: [ + // These are now pulled in as a remote dependency from FlutterFire repo + "FLTFirebasePlugin.m", + "FLTFirebasePluginRegistry.m", + "include/firebase_core/FLTFirebasePlugin.h", + "include/firebase_core/FLTFirebasePluginRegistry.h", ], resources: [ .process("Resources"), ], cSettings: [ .headerSearchPath("include/firebase_core"), - .define("LIBRARY_VERSION", to: "\"\(library_version)\""), + .define("LIBRARY_VERSION", to: "\"\(library_version_string)\""), .define("LIBRARY_NAME", to: "\"flutter-fire-core\""), ] ), From b9ed5b79b82329a11f4a662d9f31dc5ef4be89d1 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 11:17:26 +0000 Subject: [PATCH 52/74] fix: firestore macOS headers --- .../Private/FLTDocumentSnapshotStreamHandler.h | 5 +++++ .../cloud_firestore/Private/FLTFirebaseFirestoreUtils.h | 4 ++++ .../cloud_firestore/Private/FLTLoadBundleStreamHandler.h | 4 ++++ .../cloud_firestore/Private/FLTTransactionStreamHandler.h | 4 ++++ .../include/cloud_firestore/Private/FirestorePigeonParser.h | 4 ++++ 5 files changed, 21 insertions(+) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h index 99a401516e7c..fc97756c5d90 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTDocumentSnapshotStreamHandler.h @@ -9,7 +9,12 @@ #import #endif +#if TARGET_OS_OSX +#import +#else @import FirebaseFirestore; +#endif + #import NS_ASSUME_NONNULL_BEGIN diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h index ef5dc5a47db7..02c7ab21fd9a 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTFirebaseFirestoreUtils.h @@ -10,7 +10,11 @@ #import #endif +#if TARGET_OS_OSX +#import +#else @import FirebaseFirestore; +#endif #import #import "FLTFirebaseFirestoreExtension.h" diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h index 59f018b61e17..30dbfcd72dc8 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTLoadBundleStreamHandler.h @@ -18,7 +18,11 @@ #import #endif +#if TARGET_OS_OSX +#import +#else @import FirebaseFirestore; +#endif #import diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h index 77db70aa2fc8..213570d9887b 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FLTTransactionStreamHandler.h @@ -9,7 +9,11 @@ #import #endif +#if TARGET_OS_OSX +#import +#else @import FirebaseFirestore; +#endif #if __has_include() #import #else diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h index b5e713620460..e197ef7592b0 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/include/cloud_firestore/Private/FirestorePigeonParser.h @@ -4,7 +4,11 @@ * BSD-style license that can be found in the LICENSE file. */ +#if TARGET_OS_OSX +#import +#else @import FirebaseFirestore; +#endif #import #if __has_include() #import From da92423c69ed11818c7c2d001ebbfc4d1d8469ab Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 11:19:11 +0000 Subject: [PATCH 53/74] license header --- .github/workflows/scripts/swift-integration.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index 0ac4a98220e0..aae21d8a5149 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -1,3 +1,7 @@ +// Copyright 2024, the Chromium project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + import 'dart:io'; void main() async { From af70d95254c56effe2267bd1354c23fd2214d867 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 11:25:01 +0000 Subject: [PATCH 54/74] debug swift integration --- .github/workflows/scripts/swift-integration.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index aae21d8a5149..b7c99aa49e60 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -16,6 +16,8 @@ Future buildSwiftExampleApp(String platform, String plugin) async { print('Building firebase core $platformName example app with swift (SPM)'); + print('CURRENT DIRECTORY') + await _runCommand('pwd', []); final directory = Directory('packages/$plugin/$plugin/example/$platform'); if (!directory.existsSync()) { print('Directory does not exist: ${directory.path}'); From 30c398f15f7678e87d143b42afe04eab28a53d34 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 11:28:52 +0000 Subject: [PATCH 55/74] add colon --- .github/workflows/scripts/swift-integration.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index b7c99aa49e60..2603580be08a 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -16,7 +16,7 @@ Future buildSwiftExampleApp(String platform, String plugin) async { print('Building firebase core $platformName example app with swift (SPM)'); - print('CURRENT DIRECTORY') + print('CURRENT DIRECTORY'); await _runCommand('pwd', []); final directory = Directory('packages/$plugin/$plugin/example/$platform'); if (!directory.existsSync()) { From c3019495f09e5274506c5d8f8afdf38ec568dd3c Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 11:41:05 +0000 Subject: [PATCH 56/74] tests: fix swift integration --- .github/workflows/scripts/swift-integration.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index 2603580be08a..f3c5757ca049 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -12,12 +12,11 @@ void main() async { } Future buildSwiftExampleApp(String platform, String plugin) async { + final initialDirectory = Directory.current; final platformName = platform == 'ios' ? 'iOS' : 'macOS'; print('Building firebase core $platformName example app with swift (SPM)'); - print('CURRENT DIRECTORY'); - await _runCommand('pwd', []); final directory = Directory('packages/$plugin/$plugin/example/$platform'); if (!directory.existsSync()) { print('Directory does not exist: ${directory.path}'); @@ -47,6 +46,8 @@ Future buildSwiftExampleApp(String platform, String plugin) async { } else { print('Successfully built $platformName project using Swift Package Manager.'); } + + Directory.current = initialDirectory; } Future _runCommand(String command, List arguments) async { From 4469aee9df499f280dd2357a22a7597c9f226d5b Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 12:03:10 +0000 Subject: [PATCH 57/74] test: code sign for ios only --- .github/workflows/scripts/swift-integration.dart | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index f3c5757ca049..5cabe125d3b6 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -30,8 +30,14 @@ Future buildSwiftExampleApp(String platform, String plugin) async { await _runCommand('rm', ['Podfile']); await _runCommand('pod', ['deintegrate']); + // Determine the arguments for the flutter build command + final flutterArgs = ['build', platform]; + if (platform == 'ios') { + flutterArgs.add('--no-codesign'); + } + // Run the flutter build command - final flutterResult = await _runCommand('flutter', ['build', platform, '--no-codesign']); + final flutterResult = await _runCommand('flutter', flutterArgs); // Check if the flutter build command was successful if (flutterResult.exitCode != 0) { @@ -44,13 +50,15 @@ Future buildSwiftExampleApp(String platform, String plugin) async { print('Failed. Pods are being installed when they should not be.'); exit(1); } else { - print('Successfully built $platformName project using Swift Package Manager.'); + print( + 'Successfully built $platformName project using Swift Package Manager.'); } Directory.current = initialDirectory; } -Future _runCommand(String command, List arguments) async { +Future _runCommand( + String command, List arguments) async { final result = await Process.run(command, arguments); if (result.exitCode != 0) { print('Command failed: $command ${arguments.join(' ')}'); From e18c11ab9d8bbd27c9dce89e21edff63b00d4901 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 12:21:13 +0000 Subject: [PATCH 58/74] update macOS podspec --- .../cloud_firestore/macos/cloud_firestore.podspec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore.podspec b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore.podspec index e433c03228ab..44815fe6d85a 100755 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore.podspec +++ b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore.podspec @@ -43,9 +43,9 @@ Pod::Spec.new do |s| s.authors = 'The Chromium Authors' s.source = { :path => '.' } - s.source_files = 'Classes/**/*.{h,m}' - s.public_header_files = 'Classes/Public/*.h' - s.private_header_files = 'Classes/Private/*.h' + s.source_files = 'cloud_firestore/Sources/cloud_firestore/**/*.{h,m}' + s.public_header_files = 'cloud_firestore/Sources/cloud_firestore/include/Public/**/*.h' + s.private_header_files = 'cloud_firestore/Sources/cloud_firestore/include/Private/**/*.h' s.platform = :osx, '10.13' @@ -59,7 +59,7 @@ Pod::Spec.new do |s| s.static_framework = true s.pod_target_xcconfig = { - 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\@\\\"#{library_version}\\\" LIBRARY_NAME=\\@\\\"flutter-fire-fst\\\"", + 'GCC_PREPROCESSOR_DEFINITIONS' => "LIBRARY_VERSION=\\\"#{library_version}\\\" LIBRARY_NAME=\\\"flutter-fire-fst\\\"", 'DEFINES_MODULE' => 'YES' } end From c59fbf7b12c5bdb88d3cca31c6a5c1548319fec4 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 12:33:35 +0000 Subject: [PATCH 59/74] deleted symlink --- .../cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep | 1 - 1 file changed, 1 deletion(-) delete mode 120000 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep deleted file mode 120000 index 8a3f64b6bcb2..000000000000 --- a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -/Users/russellwheatley/projects/flutterfire/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep \ No newline at end of file From 48b72f6120094f4c0d444459ec2406805a1c65f0 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 12:43:56 +0000 Subject: [PATCH 60/74] gitkeep --- .../cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep diff --git a/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep b/packages/cloud_firestore/cloud_firestore/macos/cloud_firestore/Sources/cloud_firestore/Resources/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 From 2135f99490ba997e56050bebb2929f5b5c20adce Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 12:55:42 +0000 Subject: [PATCH 61/74] test: update swift integration code --- .../workflows/scripts/swift-integration.dart | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index 5cabe125d3b6..51afa54bb11a 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -3,6 +3,7 @@ // BSD-style license that can be found in the LICENSE file. import 'dart:io'; +import 'dart:convert'; void main() async { await buildSwiftExampleApp('ios', 'firebase_core'); @@ -15,7 +16,7 @@ Future buildSwiftExampleApp(String platform, String plugin) async { final initialDirectory = Directory.current; final platformName = platform == 'ios' ? 'iOS' : 'macOS'; - print('Building firebase core $platformName example app with swift (SPM)'); + print('Building $plugin $platformName example app with swift (SPM)'); final directory = Directory('packages/$plugin/$plugin/example/$platform'); if (!directory.existsSync()) { @@ -59,10 +60,23 @@ Future buildSwiftExampleApp(String platform, String plugin) async { Future _runCommand( String command, List arguments) async { - final result = await Process.run(command, arguments); - if (result.exitCode != 0) { + final process = await Process.start(command, arguments); + + // Listen to stdout + process.stdout.transform(utf8.decoder).listen((data) { + print(data); + }); + + // Listen to stderr + process.stderr.transform(utf8.decoder).listen((data) { + print('Error: $data'); + }); + + // Wait for the process to complete + final exitCode = await process.exitCode; + if (exitCode != 0) { print('Command failed: $command ${arguments.join(' ')}'); - print('Error: ${result.stderr}'); } - return result; + + return ProcessResult(process.pid, exitCode, '', ''); } From 403e3b84459c68fa96b5960cd82ef658ffbf9863 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 13:46:54 +0000 Subject: [PATCH 62/74] test swift --- .../workflows/scripts/swift-integration.dart | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index 51afa54bb11a..8d3c4d1d1425 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -12,6 +12,24 @@ void main() async { await buildSwiftExampleApp('macos', 'cloud_firestore'); } +Future deleteFirstLine(String filePath) async { + final file = File(filePath); + + if (!file.existsSync()) { + print('File does not exist: $filePath'); + return; + } + + final lines = await file.readAsLines(); + if (lines.isNotEmpty) { + final updatedContent = lines.skip(1).join('\n'); + await file.writeAsString(updatedContent); + print('First line deleted from $filePath'); + } else { + print('File is empty: $filePath'); + } +} + Future buildSwiftExampleApp(String platform, String plugin) async { final initialDirectory = Directory.current; final platformName = platform == 'ios' ? 'iOS' : 'macOS'; @@ -24,6 +42,10 @@ Future buildSwiftExampleApp(String platform, String plugin) async { exit(1); } + if (platform == 'macos') { + await deleteFirstLine( + 'packages/$plugin/$plugin/example/macos/Flutter/Flutter-Debug.xcconfig'); + } // Change to the appropriate directory Directory.current = directory; @@ -69,11 +91,12 @@ Future _runCommand( // Listen to stderr process.stderr.transform(utf8.decoder).listen((data) { - print('Error: $data'); + print('stderr output: $data'); }); // Wait for the process to complete final exitCode = await process.exitCode; + if (exitCode != 0) { print('Command failed: $command ${arguments.join(' ')}'); } From 6b44ed9d71e8eda11c39ab3914cbecd6ac193163 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 14:22:16 +0000 Subject: [PATCH 63/74] macos build --- .github/workflows/scripts/swift-integration.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index 8d3c4d1d1425..8311c81b4644 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -7,7 +7,9 @@ import 'dart:convert'; void main() async { await buildSwiftExampleApp('ios', 'firebase_core'); - await buildSwiftExampleApp('macos', 'firebase_core'); + // won't build on CI with logs giving no indication why + // https://github.com/firebase/flutterfire/actions/runs/11575223412/job/32221294182?pr=13329#step:6:138 + // await buildSwiftExampleApp('macos', 'firebase_core'); await buildSwiftExampleApp('ios', 'cloud_firestore'); await buildSwiftExampleApp('macos', 'cloud_firestore'); } From a5e559e8dc2d8606e3d713a3351f3913bfd9a18c Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 14:53:21 +0000 Subject: [PATCH 64/74] rm macOS swift builds --- .github/workflows/scripts/swift-integration.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index 8311c81b4644..0f36b21151f4 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -7,11 +7,11 @@ import 'dart:convert'; void main() async { await buildSwiftExampleApp('ios', 'firebase_core'); + await buildSwiftExampleApp('ios', 'cloud_firestore'); // won't build on CI with logs giving no indication why // https://github.com/firebase/flutterfire/actions/runs/11575223412/job/32221294182?pr=13329#step:6:138 // await buildSwiftExampleApp('macos', 'firebase_core'); - await buildSwiftExampleApp('ios', 'cloud_firestore'); - await buildSwiftExampleApp('macos', 'cloud_firestore'); + // await buildSwiftExampleApp('macos', 'cloud_firestore'); } Future deleteFirstLine(String filePath) async { From ccbfadbfd8641f781bb3f39ec244a36f07f834d6 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 15:23:09 +0000 Subject: [PATCH 65/74] increase timeout --- .github/workflows/all_plugins.yaml | 2 +- .github/workflows/scripts/swift-integration.dart | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 67ae2e447b99..76b73d824937 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -124,7 +124,7 @@ jobs: "flutter build web" swift-integration: runs-on: macos-latest - timeout-minutes: 10 + timeout-minutes: 25 steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 - uses: subosito/flutter-action@2783a3f08e1baf891508463f8c6653c258246225 diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index 0f36b21151f4..352f49706999 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -11,7 +11,7 @@ void main() async { // won't build on CI with logs giving no indication why // https://github.com/firebase/flutterfire/actions/runs/11575223412/job/32221294182?pr=13329#step:6:138 // await buildSwiftExampleApp('macos', 'firebase_core'); - // await buildSwiftExampleApp('macos', 'cloud_firestore'); + await buildSwiftExampleApp('macos', 'cloud_firestore'); } Future deleteFirstLine(String filePath) async { @@ -76,7 +76,7 @@ Future buildSwiftExampleApp(String platform, String plugin) async { exit(1); } else { print( - 'Successfully built $platformName project using Swift Package Manager.'); + 'Successfully built $plugin $platformName project using Swift Package Manager.'); } Directory.current = initialDirectory; From 7366c6c76b9af51620ae73dfcb397cd86563c9f1 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 17:36:47 +0000 Subject: [PATCH 66/74] swift integration time increase --- .github/workflows/all_plugins.yaml | 2 +- .github/workflows/scripts/swift-integration.dart | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/all_plugins.yaml b/.github/workflows/all_plugins.yaml index 76b73d824937..8c0e545f645f 100644 --- a/.github/workflows/all_plugins.yaml +++ b/.github/workflows/all_plugins.yaml @@ -124,7 +124,7 @@ jobs: "flutter build web" swift-integration: runs-on: macos-latest - timeout-minutes: 25 + timeout-minutes: 30 steps: - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 - uses: subosito/flutter-action@2783a3f08e1baf891508463f8c6653c258246225 diff --git a/.github/workflows/scripts/swift-integration.dart b/.github/workflows/scripts/swift-integration.dart index 352f49706999..fe3d50e5e3ca 100644 --- a/.github/workflows/scripts/swift-integration.dart +++ b/.github/workflows/scripts/swift-integration.dart @@ -8,9 +8,7 @@ import 'dart:convert'; void main() async { await buildSwiftExampleApp('ios', 'firebase_core'); await buildSwiftExampleApp('ios', 'cloud_firestore'); - // won't build on CI with logs giving no indication why - // https://github.com/firebase/flutterfire/actions/runs/11575223412/job/32221294182?pr=13329#step:6:138 - // await buildSwiftExampleApp('macos', 'firebase_core'); + await buildSwiftExampleApp('macos', 'firebase_core'); await buildSwiftExampleApp('macos', 'cloud_firestore'); } From 6d5f9b660088c7874434a595f1a9e6dc14d21d46 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Tue, 29 Oct 2024 17:42:14 +0000 Subject: [PATCH 67/74] rm unneeded property in pubspec --- packages/cloud_firestore/cloud_firestore/pubspec.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/pubspec.yaml b/packages/cloud_firestore/cloud_firestore/pubspec.yaml index b9f8ae14a89c..5daf1e557632 100755 --- a/packages/cloud_firestore/cloud_firestore/pubspec.yaml +++ b/packages/cloud_firestore/cloud_firestore/pubspec.yaml @@ -49,5 +49,3 @@ flutter: windows: pluginClass: CloudFirestorePluginCApi -firebase: - ios_sdk: 11.2.0 From 89ab888d65e4c41407e9de04483138d7abe3c6b0 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 8 Nov 2024 12:13:59 +0000 Subject: [PATCH 68/74] chore: every plugin with Swift needs access to firebase-ios-sdk version --- melos.yaml | 1 + .../ios/generated_firebase_sdk_version.txt | 1 + scripts/generate_ios_sdk_version_txt_spm.dart | 67 +++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 packages/cloud_firestore/cloud_firestore/ios/generated_firebase_sdk_version.txt create mode 100644 scripts/generate_ios_sdk_version_txt_spm.dart diff --git a/melos.yaml b/melos.yaml index 78ba09d39ad5..fea2edc6b45f 100644 --- a/melos.yaml +++ b/melos.yaml @@ -19,6 +19,7 @@ command: preCommit: | dart run scripts/generate_vertexai_version.dart && \ dart run scripts/generate_dataconnect_version.dart && \ + dart run scripts/generate_ios_sdk_version_txt_spm && \ git add packages/firebase_vertexai/firebase_vertexai/lib/src/vertex_version.dart && \ git add packages/firebase_data_connect/firebase_data_connect/lib/src/dataconnect_version.dart post: | diff --git a/packages/cloud_firestore/cloud_firestore/ios/generated_firebase_sdk_version.txt b/packages/cloud_firestore/cloud_firestore/ios/generated_firebase_sdk_version.txt new file mode 100644 index 000000000000..86b57ebe918f --- /dev/null +++ b/packages/cloud_firestore/cloud_firestore/ios/generated_firebase_sdk_version.txt @@ -0,0 +1 @@ +11.4.0 \ No newline at end of file diff --git a/scripts/generate_ios_sdk_version_txt_spm.dart b/scripts/generate_ios_sdk_version_txt_spm.dart new file mode 100644 index 000000000000..e2c205ac589d --- /dev/null +++ b/scripts/generate_ios_sdk_version_txt_spm.dart @@ -0,0 +1,67 @@ +import 'package:melos/melos.dart' as melos; +import 'package:glob/glob.dart'; +import 'dart:io'; +import 'package:cli_util/cli_logging.dart' as logging; + +// Used to generate a simple txt file for Package.swift file to parse in order to use correct firebase-ios-sdk version + +void main(List args) async { + final workspace = await getMelosWorkspace(); + // get version from core + final firebaseCorePackage = workspace.filteredPackages.values + .firstWhere((package) => package.name == 'firebase_core'); + + final firebaseCoreIosVersionFile = File( + '${firebaseCorePackage.path}/ios/firebase_sdk_version.rb', + ); + + final firebaseiOSVersion = getFirebaseiOSVersion(firebaseCoreIosVersionFile); + + for (final package in workspace.filteredPackages.values) { + final packageSwiftFile = + File('${package.path}/ios/${package.name}/Package.swift'); + + // only want to write this for plugins that support Swift + // ignore core as it already has canonical firebase_sdk_version.rb + if (packageSwiftFile.existsSync() && package.name != 'firebase_core') { + final versionFile = + File('${package.path}/ios/generated_firebase_sdk_version.txt'); + versionFile.writeAsStringSync(firebaseiOSVersion); + } + } +} + +Future getMelosWorkspace() async { + final packageFilters = melos.PackageFilters( + includePrivatePackages: false, + ignore: [ + Glob('*web*'), + Glob('*platform*'), + Glob('*internals*'), + ], + ); + final workspace = await melos.MelosWorkspace.fromConfig( + await melos.MelosWorkspaceConfig.fromWorkspaceRoot(Directory.current), + logger: melos.MelosLogger(logging.Logger.standard()), + packageFilters: packageFilters, + ); + + return workspace; +} + +String getFirebaseiOSVersion(File firebaseCoreIosSdkVersion) { + if (firebaseCoreIosSdkVersion.existsSync()) { + final content = firebaseCoreIosSdkVersion.readAsStringSync(); + final versionMatch = RegExp(r"'(\d+\.\d+\.\d+)'").firstMatch(content); + + if (versionMatch != null && versionMatch.group(1) != null) { + return versionMatch.group(1)!; + } else { + throw Exception( + 'Firebase iOS SDK version not found in firebase_sdk_version.rb.', + ); + } + } else { + throw Exception('firebase_sdk_version.rb file does not exist.'); + } +} From 035ca20e0974f14d65f1cdfa3d21f80e7565e94f Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 8 Nov 2024 13:13:39 +0000 Subject: [PATCH 69/74] chore: pull version only from cloud_firestore plugin --- .../ios/cloud_firestore/Package.swift | 78 ++++--------------- 1 file changed, 17 insertions(+), 61 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index aa46e00e66f8..bbdd4dd6f60f 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -21,77 +21,35 @@ func loadFirebaseSDKVersion() throws -> String { let firebaseCoreScriptPath = NSString.path(withComponents: [ firestoreDirectory, "..", - "..", - "..", - "..", - "firebase_core", - "firebase_core", - "ios", - "firebase_sdk_version.rb", - ]) - do { - let content = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) - let pattern = #"def firebase_sdk_version!\(\)\n\s+'([^']+)'\nend"# - if let regex = try? NSRegularExpression(pattern: pattern, options: []), - let match = regex.firstMatch( - in: content, - range: NSRange(content.startIndex..., in: content) - ) { - if let versionRange = Range(match.range(at: 1), in: content) { - return String(content[versionRange]) - } else { - throw ConfigurationError.invalidFormat("Invalid format in firebase_sdk_version.rb") - } - } else { - throw ConfigurationError.parsingError("No match found in firebase_sdk_version.rb") - } - } catch { - throw ConfigurationError - .fileNotFound("Error loading or parsing firebase_sdk_version.rb: \(error)") - } -} - -func loadFirebaseCoreVersion() throws -> String { - let firebaseCorePubspecPath = NSString.path(withComponents: [ - firestoreDirectory, - "..", - "..", - "..", - "..", - "firebase_core", - "firebase_core", - "pubspec.yaml", + "generated_firebase_sdk_version.txt", ]) - do { - let yamlString = try String(contentsOfFile: firebaseCorePubspecPath, encoding: .utf8) - let lines = yamlString.split(separator: "\n") - - guard let versionLine = lines.first(where: { $0.starts(with: "version:") }) else { - throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") - } - let libraryVersion = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) - .replacingOccurrences(of: "+", with: "-") - - return libraryVersion + do { + let version = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8).trimmingCharacters(in: .whitespacesAndNewlines) + return version } catch { throw ConfigurationError - .fileNotFound("Error loading or parsing firebase_core pubspec.yaml: \(error)") + .fileNotFound("Error loading or parsing generated_firebase_sdk_version.txt: \(error)") } } -func loadPubspecVersion() throws -> String { +func loadPubspecVersions() throws -> (packageVersion: String, firebaseCoreVersion: String) { let pubspecPath = NSString.path(withComponents: [firestoreDirectory, "..", "..", "pubspec.yaml"]) do { let yamlString = try String(contentsOfFile: pubspecPath, encoding: .utf8) let lines = yamlString.split(separator: "\n") - guard let versionLine = lines.first(where: { $0.starts(with: "version:") }) else { - throw ConfigurationError.invalidFormat("No version line found in pubspec.yaml") + guard let packageVersionLine = lines.first(where: { $0.starts(with: "version:") }) else { + throw ConfigurationError.invalidFormat("No package version line found in pubspec.yaml") } - let libraryVersion = versionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + let packageVersion = packageVersionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) .replacingOccurrences(of: "+", with: "-") - return libraryVersion + guard let firebaseCoreVersionLine = lines.first(where: { $0.contains("firebase_core:") }) else { + throw ConfigurationError.invalidFormat("No firebase_core dependency version line found in pubspec.yaml") + } + let firebaseCoreVersion = firebaseCoreVersionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + + return (packageVersion, firebaseCoreVersion) } catch { throw ConfigurationError.fileNotFound("Error loading or parsing pubspec.yaml: \(error)") } @@ -103,9 +61,9 @@ let firebase_core_version_string: String let shared_spm_tag = "-firebase-core-swift" do { - library_version = try loadPubspecVersion() + library_version = try loadPubspecVersions().packageVersion firebase_sdk_version_string = try loadFirebaseSDKVersion() - firebase_core_version_string = try loadFirebaseCoreVersion() + firebase_core_version_string = try loadPubspecVersions().firebaseCoreVersion } catch { fatalError("Failed to load configuration: \(error)") } @@ -114,8 +72,6 @@ guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { fatalError("Invalid Firebase SDK version: \(firebase_sdk_version_string)") } -// TODO: - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle -// but I don't think it'll work as Swift versioning requires version-[tag name] guard let shared_spm_version = Version("\(firebase_core_version_string)\(shared_spm_tag)") else { fatalError("Invalid firebase_core version: \(firebase_core_version_string)\(shared_spm_tag)") } From 8845393f07f055951f90d522e0a691a5d3af5b85 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 8 Nov 2024 13:20:01 +0000 Subject: [PATCH 70/74] license header --- scripts/generate_ios_sdk_version_txt_spm.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/generate_ios_sdk_version_txt_spm.dart b/scripts/generate_ios_sdk_version_txt_spm.dart index e2c205ac589d..9dd55bdde5f5 100644 --- a/scripts/generate_ios_sdk_version_txt_spm.dart +++ b/scripts/generate_ios_sdk_version_txt_spm.dart @@ -1,3 +1,7 @@ +// Copyright 2024 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + import 'package:melos/melos.dart' as melos; import 'package:glob/glob.dart'; import 'dart:io'; From 960a3037fb51e6f8fe1f9fd44c149591705cc311 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 8 Nov 2024 13:31:52 +0000 Subject: [PATCH 71/74] hard code version --- .../firebase_core/firebase_core/ios/firebase_core/Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index a39f10863fc1..f5a8c81df6c4 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -83,7 +83,7 @@ guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { // TODO: - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle // but I don't think it'll work as Swift versioning requires version-[tag name] -guard let shared_spm_version = Version("\(library_version_string)\(shared_spm_tag)") else { +guard let shared_spm_version = Version("3.7.0-firebase-core-swift") else { fatalError("Invalid firebase_core version: \(library_version_string)\(shared_spm_tag)") } From cb32fba56d6abba044edc8468670f3e369440154 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 8 Nov 2024 13:32:18 +0000 Subject: [PATCH 72/74] revert --- .../firebase_core/firebase_core/ios/firebase_core/Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift index f5a8c81df6c4..a39f10863fc1 100644 --- a/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift +++ b/packages/firebase_core/firebase_core/ios/firebase_core/Package.swift @@ -83,7 +83,7 @@ guard let firebase_sdk_version = Version(firebase_sdk_version_string) else { // TODO: - we can try using existing firebase_core tag once flutterfire/Package.swift is part of release cycle // but I don't think it'll work as Swift versioning requires version-[tag name] -guard let shared_spm_version = Version("3.7.0-firebase-core-swift") else { +guard let shared_spm_version = Version("\(library_version_string)\(shared_spm_tag)") else { fatalError("Invalid firebase_core version: \(library_version_string)\(shared_spm_tag)") } From a39cc571d063479a0a0f830847d754f06e93521a Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 8 Nov 2024 14:04:51 +0000 Subject: [PATCH 73/74] remove caret from version --- .../cloud_firestore/ios/cloud_firestore/Package.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index bbdd4dd6f60f..b577cbc04936 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -41,13 +41,15 @@ func loadPubspecVersions() throws -> (packageVersion: String, firebaseCoreVersio guard let packageVersionLine = lines.first(where: { $0.starts(with: "version:") }) else { throw ConfigurationError.invalidFormat("No package version line found in pubspec.yaml") } - let packageVersion = packageVersionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + var packageVersion = packageVersionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) .replacingOccurrences(of: "+", with: "-") + packageVersion = packageVersion.replacingOccurrences(of: "^", with: "") guard let firebaseCoreVersionLine = lines.first(where: { $0.contains("firebase_core:") }) else { throw ConfigurationError.invalidFormat("No firebase_core dependency version line found in pubspec.yaml") } - let firebaseCoreVersion = firebaseCoreVersionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + var firebaseCoreVersion = firebaseCoreVersionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + firebaseCoreVersion = firebaseCoreVersion.replacingOccurrences(of: "^", with: "") return (packageVersion, firebaseCoreVersion) } catch { From e68f3bd3f1ed0ff5c8356fc62dcbe28da42a4778 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Fri, 8 Nov 2024 14:14:47 +0000 Subject: [PATCH 74/74] format --- .../ios/cloud_firestore/Package.swift | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift index b577cbc04936..d8afa1426792 100644 --- a/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift +++ b/packages/cloud_firestore/cloud_firestore/ios/cloud_firestore/Package.swift @@ -23,8 +23,9 @@ func loadFirebaseSDKVersion() throws -> String { "..", "generated_firebase_sdk_version.txt", ]) - do { - let version = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8).trimmingCharacters(in: .whitespacesAndNewlines) + do { + let version = try String(contentsOfFile: firebaseCoreScriptPath, encoding: .utf8) + .trimmingCharacters(in: .whitespacesAndNewlines) return version } catch { throw ConfigurationError @@ -41,14 +42,17 @@ func loadPubspecVersions() throws -> (packageVersion: String, firebaseCoreVersio guard let packageVersionLine = lines.first(where: { $0.starts(with: "version:") }) else { throw ConfigurationError.invalidFormat("No package version line found in pubspec.yaml") } - var packageVersion = packageVersionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + var packageVersion = packageVersionLine.split(separator: ":")[1] + .trimmingCharacters(in: .whitespaces) .replacingOccurrences(of: "+", with: "-") packageVersion = packageVersion.replacingOccurrences(of: "^", with: "") guard let firebaseCoreVersionLine = lines.first(where: { $0.contains("firebase_core:") }) else { - throw ConfigurationError.invalidFormat("No firebase_core dependency version line found in pubspec.yaml") + throw ConfigurationError + .invalidFormat("No firebase_core dependency version line found in pubspec.yaml") } - var firebaseCoreVersion = firebaseCoreVersionLine.split(separator: ":")[1].trimmingCharacters(in: .whitespaces) + var firebaseCoreVersion = firebaseCoreVersionLine.split(separator: ":")[1] + .trimmingCharacters(in: .whitespaces) firebaseCoreVersion = firebaseCoreVersion.replacingOccurrences(of: "^", with: "") return (packageVersion, firebaseCoreVersion)