Skip to content

Commit 9228743

Browse files
authored
Add new SDKs to zip builder. (#2960)
* Add new SDKs to zip builder. * Clarify TODO message.
1 parent 31b6d64 commit 9228743

File tree

1 file changed

+37
-4
lines changed

1 file changed

+37
-4
lines changed

ZipBuilder/Sources/ZipBuilder/CocoaPod.swift

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ public enum CocoaPod: String, CaseIterable {
3636
case mlNaturalLanguage = "MLNaturalLanguage"
3737
case mlNLLanguageID = "MLNLLanguageID"
3838
case mlNLSmartReply = "MLNLSmartReply"
39+
case mlNLTranslate = "MLNLTranslate"
3940
case mlVision = "MLVision"
41+
case mlVisionAutoML = "MLVisionAutoML"
42+
case mlVisionObjectDetection = "MLVisionObjectDetection"
4043
case mlVisionBarcodeModel = "MLVisionBarcodeModel"
4144
case mlVisionFaceModel = "MLVisionFaceModel"
4245
case mlVisionLabelModel = "MLVisionLabelModel"
@@ -75,7 +78,6 @@ public enum CocoaPod: String, CaseIterable {
7578

7679
/// Describes the dependency on other frameworks for the README file.
7780
public func readmeHeader() -> String {
78-
// Remove any instances of "Firebase/" in the name, if it exists.
7981
var header = "## \(rawValue)"
8082
if !(self == .analytics || self == .googleSignIn) {
8183
header += " (~> Analytics)"
@@ -85,7 +87,7 @@ public enum CocoaPod: String, CaseIterable {
8587
}
8688

8789
// TODO: Evaluate if there's a way to do this that doesn't require the hardcoded values to be
88-
// maintained.
90+
// maintained. Likely looking at the `vendored_frameworks` from each Pod's Podspec.
8991
/// Returns folders to remove from the Zip file from a specific pod for de-duplication. This
9092
/// is necessary for the MLKit frameworks because of their unique structure, an unnecessary amount
9193
/// of frameworks get pulled in.
@@ -124,8 +126,39 @@ public enum CocoaPod: String, CaseIterable {
124126
"GoogleMobileVision.framework",
125127
"LabelDetector.framework",
126128
"Protobuf.framework"]
127-
default:
128-
// By default, no folders need to be removed.
129+
case .mlVisionAutoML:
130+
return ["BarcodeDetector.framework",
131+
"FaceDetector.framework",
132+
"LabelDetector.framework",
133+
"TextDetector.framework"]
134+
case .mlVisionObjectDetection:
135+
return ["BarcodeDetector.framework",
136+
"FaceDetector.framework",
137+
"LabelDetector.framework",
138+
"TextDetector.framework"]
139+
case .abTesting,
140+
.adMob,
141+
.analytics,
142+
.auth,
143+
.core,
144+
.database,
145+
.dynamicLinks,
146+
.firestore,
147+
.functions,
148+
.googleSignIn,
149+
.inAppMessaging,
150+
.inAppMessagingDisplay,
151+
.messaging,
152+
.mlModelInterpreter,
153+
.mlNaturalLanguage,
154+
.mlNLLanguageID,
155+
.mlNLSmartReply,
156+
.mlNLTranslate,
157+
.performance,
158+
.remoteConfig,
159+
.storage:
160+
// By default, no folders need to be removed. Explicitly declare each case so we make an
161+
// intentional decision to not exclude frameworks.
129162
return []
130163
}
131164
}

0 commit comments

Comments
 (0)