FirebaseManifest.swift 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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: "7.8.0",
  23. pods: [
  24. Pod("FirebaseCoreDiagnostics"),
  25. Pod("FirebaseCore"),
  26. Pod("FirebaseInstallations"),
  27. Pod("FirebaseInstanceID"),
  28. Pod("GoogleAppMeasurement", isClosedSource: true, platforms: ["ios"]),
  29. Pod("FirebaseAnalytics", isClosedSource: true, platforms: ["ios"], zip: true),
  30. Pod("FirebaseAnalyticsSwift", isBeta: true, platforms: ["ios"]),
  31. Pod("FirebaseABTesting", zip: true),
  32. Pod("FirebaseRemoteConfig", zip: true),
  33. Pod("FirebaseAppDistribution", isBeta: true, platforms: ["ios"], zip: true),
  34. Pod("FirebaseAuth", zip: true),
  35. Pod("FirebaseCrashlytics", zip: true),
  36. Pod("FirebaseDatabase", zip: true),
  37. // TODO: Re-enable after API review.
  38. // Pod("FirebaseDatabaseSwift", isBeta: true),
  39. Pod("FirebaseDynamicLinks", platforms: ["ios"], zip: true),
  40. Pod("FirebaseFirestore", allowWarnings: true, zip: true),
  41. Pod("FirebaseFirestoreSwift", isBeta: true),
  42. Pod("FirebaseFunctions", zip: true),
  43. Pod("FirebaseInAppMessaging", isBeta: true, platforms: ["ios"], zip: true),
  44. Pod("FirebaseMessaging", zip: true),
  45. Pod("FirebasePerformance", platforms: ["ios", "tvos"], zip: true),
  46. Pod("FirebaseStorage", zip: true),
  47. Pod("FirebaseStorageSwift", isBeta: true),
  48. Pod("FirebaseMLModelDownloader", isBeta: true, zip: true),
  49. Pod("Firebase", allowWarnings: true, zip: true),
  50. ]
  51. )
  52. /// Manifest describing the contents of a Firebase release.
  53. public struct Manifest {
  54. public let version: String
  55. public let pods: [Pod]
  56. public func versionString(_ pod: Pod) -> String {
  57. return pod.isBeta ? version + "-beta" : version
  58. }
  59. }