FirebaseManifest.swift 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * Copyright 2020 Google LLC
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. import Foundation
  17. /// The manifest contents for a release.
  18. /// Version should be updated every release.
  19. /// The version and releasing fields of the non-Firebase pods should be reviewed every release.
  20. /// The array should be ordered so that any pod's dependencies precede it in the list.
  21. public let shared = Manifest(
  22. version: "8.15.0",
  23. pods: [
  24. Pod("FirebaseSharedSwift"),
  25. Pod("FirebaseCoreDiagnostics"),
  26. Pod("FirebaseCoreInternal"),
  27. Pod("FirebaseAppCheckInterop"),
  28. Pod("FirebaseAuthInterop"),
  29. Pod("FirebaseMessagingInterop"),
  30. Pod("FirebaseCore"),
  31. Pod("FirebaseInstallations"),
  32. Pod("GoogleAppMeasurement", isClosedSource: true),
  33. Pod("FirebaseAnalytics", isClosedSource: true),
  34. Pod("FirebaseAnalyticsSwift", isBeta: true, zip: true),
  35. Pod("FirebaseABTesting", zip: true),
  36. Pod("FirebaseAppCheck", isBeta: true, zip: true),
  37. Pod("FirebaseRemoteConfig"),
  38. Pod("FirebaseRemoteConfigSwift", isBeta: true, zip: true),
  39. Pod("FirebaseAppDistribution", isBeta: true, platforms: ["ios"], zip: true),
  40. Pod("FirebaseAuth", zip: true),
  41. Pod("FirebaseCrashlytics", zip: true),
  42. Pod("FirebaseDatabase"),
  43. Pod("FirebaseDatabaseSwift", isBeta: true, zip: true),
  44. Pod("FirebaseDynamicLinks", platforms: ["ios"], zip: true),
  45. Pod("FirebaseFirestore", allowWarnings: true),
  46. Pod("FirebaseFirestoreSwift", isBeta: true, zip: true),
  47. Pod("FirebaseFunctions", zip: true),
  48. Pod("FirebaseInAppMessaging", isBeta: true, platforms: ["ios"]),
  49. Pod("FirebaseInAppMessagingSwift", isBeta: true, platforms: ["ios"], zip: true),
  50. Pod("FirebaseMessaging", zip: true),
  51. Pod("FirebasePerformance", platforms: ["ios", "tvos"], zip: true),
  52. Pod("FirebaseStorage"),
  53. Pod("FirebaseStorageSwift", isBeta: true, zip: true),
  54. Pod("FirebaseMLModelDownloader", isBeta: true, zip: true),
  55. Pod("Firebase", allowWarnings: true, zip: true),
  56. ]
  57. )
  58. /// Manifest describing the contents of a Firebase release.
  59. public struct Manifest {
  60. public let version: String
  61. public let pods: [Pod]
  62. public func versionString(_ pod: Pod) -> String {
  63. return pod.isBeta ? version + "-beta" : version
  64. }
  65. }