cocoapods-embed-flutter 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.github/config/config.js +21 -0
  3. data/.github/config/package-lock.json +223 -0
  4. data/.github/config/package.json +16 -0
  5. data/.github/config/pre_changelog_hook.js +27 -0
  6. data/.github/dependabot.yml +23 -0
  7. data/.github/workflows/main.yml +145 -0
  8. data/.gitignore +178 -0
  9. data/CHANGELOG.md +32 -0
  10. data/CODE_OF_CONDUCT.md +76 -0
  11. data/Gemfile +15 -0
  12. data/Gemfile.lock +170 -0
  13. data/LICENSE +21 -0
  14. data/README.md +35 -0
  15. data/Rakefile +39 -0
  16. data/cocoapods-embed-flutter.gemspec +30 -0
  17. data/example/flutter_module/.gitignore +48 -0
  18. data/example/flutter_module/.metadata +10 -0
  19. data/example/flutter_module/README.md +11 -0
  20. data/example/flutter_module/analysis_options.yaml +4 -0
  21. data/example/flutter_module/flutter_module.iml +18 -0
  22. data/example/flutter_module/flutter_module_android.iml +27 -0
  23. data/example/flutter_module/lib/main.dart +112 -0
  24. data/example/flutter_module/pubspec.lock +174 -0
  25. data/example/flutter_module/pubspec.yaml +87 -0
  26. data/example/flutter_module/test/widget_test.dart +30 -0
  27. data/example/ios_app/Gemfile +4 -0
  28. data/example/ios_app/Gemfile.lock +110 -0
  29. data/example/ios_app/Podfile +11 -0
  30. data/example/ios_app/Podfile.lock +28 -0
  31. data/example/ios_app/ios_app/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
  32. data/example/ios_app/ios_app/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
  33. data/example/ios_app/ios_app/Assets.xcassets/Contents.json +6 -0
  34. data/example/ios_app/ios_app/ContentView.swift +40 -0
  35. data/example/ios_app/ios_app/Preview Content/Preview Assets.xcassets/Contents.json +6 -0
  36. data/example/ios_app/ios_app/ios_appApp.swift +18 -0
  37. data/example/ios_app/ios_app.xcodeproj/project.pbxproj +426 -0
  38. data/lib/cocoapods-embed-flutter/flutter/dependency.rb +93 -0
  39. data/lib/cocoapods-embed-flutter/flutter/downloader.rb +61 -0
  40. data/lib/cocoapods-embed-flutter/flutter/external_sources.rb +201 -0
  41. data/lib/cocoapods-embed-flutter/flutter/pubspec.rb +166 -0
  42. data/lib/cocoapods-embed-flutter/gem_version.rb +3 -0
  43. data/lib/cocoapods-embed-flutter/hooks/post_install.rb +8 -0
  44. data/lib/cocoapods-embed-flutter/hooks.rb +1 -0
  45. data/lib/cocoapods-embed-flutter/source.rb +1 -0
  46. data/lib/cocoapods-embed-flutter/src/pub.rb +114 -0
  47. data/lib/cocoapods-embed-flutter.rb +3 -0
  48. data/lib/cocoapods_plugin.rb +1 -0
  49. data/spec/info_spec.rb +7 -0
  50. data/spec/spec_helper.rb +50 -0
  51. metadata +165 -0
@@ -0,0 +1,426 @@
1
+ // !$*UTF8*$!
2
+ {
3
+ archiveVersion = 1;
4
+ classes = {
5
+ };
6
+ objectVersion = 55;
7
+ objects = {
8
+
9
+ /* Begin PBXBuildFile section */
10
+ 22CB562DAD2D1C676D5358E3 /* Pods_ios_app.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79B5C9758BB57E0B419A9552 /* Pods_ios_app.framework */; };
11
+ 2471880027D496AC00059CE2 /* ios_appApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 247187FF27D496AC00059CE2 /* ios_appApp.swift */; };
12
+ 2471880227D496AC00059CE2 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2471880127D496AC00059CE2 /* ContentView.swift */; };
13
+ 2471880427D496AD00059CE2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2471880327D496AD00059CE2 /* Assets.xcassets */; };
14
+ 2471880727D496AD00059CE2 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2471880627D496AD00059CE2 /* Preview Assets.xcassets */; };
15
+ /* End PBXBuildFile section */
16
+
17
+ /* Begin PBXFileReference section */
18
+ 247187FC27D496AC00059CE2 /* ios_app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ios_app.app; sourceTree = BUILT_PRODUCTS_DIR; };
19
+ 247187FF27D496AC00059CE2 /* ios_appApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ios_appApp.swift; sourceTree = "<group>"; };
20
+ 2471880127D496AC00059CE2 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
21
+ 2471880327D496AD00059CE2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
22
+ 2471880627D496AD00059CE2 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
23
+ 50ED8077F22A1CBA4F02FFCF /* Pods-ios_app.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ios_app.debug.xcconfig"; path = "Target Support Files/Pods-ios_app/Pods-ios_app.debug.xcconfig"; sourceTree = "<group>"; };
24
+ 79B5C9758BB57E0B419A9552 /* Pods_ios_app.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ios_app.framework; sourceTree = BUILT_PRODUCTS_DIR; };
25
+ 98E2D0C2FE73392EB0FDA00B /* Pods-ios_app.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ios_app.release.xcconfig"; path = "Target Support Files/Pods-ios_app/Pods-ios_app.release.xcconfig"; sourceTree = "<group>"; };
26
+ /* End PBXFileReference section */
27
+
28
+ /* Begin PBXFrameworksBuildPhase section */
29
+ 247187F927D496AC00059CE2 /* Frameworks */ = {
30
+ isa = PBXFrameworksBuildPhase;
31
+ buildActionMask = 2147483647;
32
+ files = (
33
+ 22CB562DAD2D1C676D5358E3 /* Pods_ios_app.framework in Frameworks */,
34
+ );
35
+ runOnlyForDeploymentPostprocessing = 0;
36
+ };
37
+ /* End PBXFrameworksBuildPhase section */
38
+
39
+ /* Begin PBXGroup section */
40
+ 247187F327D496AC00059CE2 = {
41
+ isa = PBXGroup;
42
+ children = (
43
+ 247187FE27D496AC00059CE2 /* ios_app */,
44
+ 247187FD27D496AC00059CE2 /* Products */,
45
+ 50216A5544007A9BD9A16E0C /* Pods */,
46
+ F73D541B21D74A80060D155B /* Frameworks */,
47
+ );
48
+ sourceTree = "<group>";
49
+ };
50
+ 247187FD27D496AC00059CE2 /* Products */ = {
51
+ isa = PBXGroup;
52
+ children = (
53
+ 247187FC27D496AC00059CE2 /* ios_app.app */,
54
+ );
55
+ name = Products;
56
+ sourceTree = "<group>";
57
+ };
58
+ 247187FE27D496AC00059CE2 /* ios_app */ = {
59
+ isa = PBXGroup;
60
+ children = (
61
+ 247187FF27D496AC00059CE2 /* ios_appApp.swift */,
62
+ 2471880127D496AC00059CE2 /* ContentView.swift */,
63
+ 2471880327D496AD00059CE2 /* Assets.xcassets */,
64
+ 2471880527D496AD00059CE2 /* Preview Content */,
65
+ );
66
+ path = ios_app;
67
+ sourceTree = "<group>";
68
+ };
69
+ 2471880527D496AD00059CE2 /* Preview Content */ = {
70
+ isa = PBXGroup;
71
+ children = (
72
+ 2471880627D496AD00059CE2 /* Preview Assets.xcassets */,
73
+ );
74
+ path = "Preview Content";
75
+ sourceTree = "<group>";
76
+ };
77
+ 50216A5544007A9BD9A16E0C /* Pods */ = {
78
+ isa = PBXGroup;
79
+ children = (
80
+ 50ED8077F22A1CBA4F02FFCF /* Pods-ios_app.debug.xcconfig */,
81
+ 98E2D0C2FE73392EB0FDA00B /* Pods-ios_app.release.xcconfig */,
82
+ );
83
+ name = Pods;
84
+ path = Pods;
85
+ sourceTree = "<group>";
86
+ };
87
+ F73D541B21D74A80060D155B /* Frameworks */ = {
88
+ isa = PBXGroup;
89
+ children = (
90
+ 79B5C9758BB57E0B419A9552 /* Pods_ios_app.framework */,
91
+ );
92
+ name = Frameworks;
93
+ sourceTree = "<group>";
94
+ };
95
+ /* End PBXGroup section */
96
+
97
+ /* Begin PBXNativeTarget section */
98
+ 247187FB27D496AC00059CE2 /* ios_app */ = {
99
+ isa = PBXNativeTarget;
100
+ buildConfigurationList = 2471880A27D496AD00059CE2 /* Build configuration list for PBXNativeTarget "ios_app" */;
101
+ buildPhases = (
102
+ 35BF99F470B5D4D6E728DB41 /* [CP] Check Pods Manifest.lock */,
103
+ 53FA3069BD2E4806E9D8564B /* [CP-User] Run Flutter Build flutter_module Script */,
104
+ 247187F827D496AC00059CE2 /* Sources */,
105
+ 247187F927D496AC00059CE2 /* Frameworks */,
106
+ 247187FA27D496AC00059CE2 /* Resources */,
107
+ 3D8B7144B0E208F0862E51E5 /* [CP] Embed Pods Frameworks */,
108
+ );
109
+ buildRules = (
110
+ );
111
+ dependencies = (
112
+ );
113
+ name = ios_app;
114
+ productName = ios_app;
115
+ productReference = 247187FC27D496AC00059CE2 /* ios_app.app */;
116
+ productType = "com.apple.product-type.application";
117
+ };
118
+ /* End PBXNativeTarget section */
119
+
120
+ /* Begin PBXProject section */
121
+ 247187F427D496AC00059CE2 /* Project object */ = {
122
+ isa = PBXProject;
123
+ attributes = {
124
+ BuildIndependentTargetsInParallel = 1;
125
+ LastSwiftUpdateCheck = 1320;
126
+ LastUpgradeCheck = 1320;
127
+ TargetAttributes = {
128
+ 247187FB27D496AC00059CE2 = {
129
+ CreatedOnToolsVersion = 13.2.1;
130
+ };
131
+ };
132
+ };
133
+ buildConfigurationList = 247187F727D496AC00059CE2 /* Build configuration list for PBXProject "ios_app" */;
134
+ compatibilityVersion = "Xcode 13.0";
135
+ developmentRegion = en;
136
+ hasScannedForEncodings = 0;
137
+ knownRegions = (
138
+ en,
139
+ Base,
140
+ );
141
+ mainGroup = 247187F327D496AC00059CE2;
142
+ productRefGroup = 247187FD27D496AC00059CE2 /* Products */;
143
+ projectDirPath = "";
144
+ projectRoot = "";
145
+ targets = (
146
+ 247187FB27D496AC00059CE2 /* ios_app */,
147
+ );
148
+ };
149
+ /* End PBXProject section */
150
+
151
+ /* Begin PBXResourcesBuildPhase section */
152
+ 247187FA27D496AC00059CE2 /* Resources */ = {
153
+ isa = PBXResourcesBuildPhase;
154
+ buildActionMask = 2147483647;
155
+ files = (
156
+ 2471880727D496AD00059CE2 /* Preview Assets.xcassets in Resources */,
157
+ 2471880427D496AD00059CE2 /* Assets.xcassets in Resources */,
158
+ );
159
+ runOnlyForDeploymentPostprocessing = 0;
160
+ };
161
+ /* End PBXResourcesBuildPhase section */
162
+
163
+ /* Begin PBXShellScriptBuildPhase section */
164
+ 35BF99F470B5D4D6E728DB41 /* [CP] Check Pods Manifest.lock */ = {
165
+ isa = PBXShellScriptBuildPhase;
166
+ buildActionMask = 2147483647;
167
+ files = (
168
+ );
169
+ inputFileListPaths = (
170
+ );
171
+ inputPaths = (
172
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
173
+ "${PODS_ROOT}/Manifest.lock",
174
+ );
175
+ name = "[CP] Check Pods Manifest.lock";
176
+ outputFileListPaths = (
177
+ );
178
+ outputPaths = (
179
+ "$(DERIVED_FILE_DIR)/Pods-ios_app-checkManifestLockResult.txt",
180
+ );
181
+ runOnlyForDeploymentPostprocessing = 0;
182
+ shellPath = /bin/sh;
183
+ 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";
184
+ showEnvVarsInLog = 0;
185
+ };
186
+ 3D8B7144B0E208F0862E51E5 /* [CP] Embed Pods Frameworks */ = {
187
+ isa = PBXShellScriptBuildPhase;
188
+ buildActionMask = 2147483647;
189
+ files = (
190
+ );
191
+ inputFileListPaths = (
192
+ "${PODS_ROOT}/Target Support Files/Pods-ios_app/Pods-ios_app-frameworks-${CONFIGURATION}-input-files.xcfilelist",
193
+ );
194
+ name = "[CP] Embed Pods Frameworks";
195
+ outputFileListPaths = (
196
+ "${PODS_ROOT}/Target Support Files/Pods-ios_app/Pods-ios_app-frameworks-${CONFIGURATION}-output-files.xcfilelist",
197
+ );
198
+ runOnlyForDeploymentPostprocessing = 0;
199
+ shellPath = /bin/sh;
200
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ios_app/Pods-ios_app-frameworks.sh\"\n";
201
+ showEnvVarsInLog = 0;
202
+ };
203
+ 53FA3069BD2E4806E9D8564B /* [CP-User] Run Flutter Build flutter_module Script */ = {
204
+ isa = PBXShellScriptBuildPhase;
205
+ buildActionMask = 2147483647;
206
+ files = (
207
+ );
208
+ name = "[CP-User] Run Flutter Build flutter_module Script";
209
+ runOnlyForDeploymentPostprocessing = 0;
210
+ shellPath = /bin/sh;
211
+ shellScript = "set -e\nset -u\nsource \"${SRCROOT}/../flutter_module/.ios/Flutter/flutter_export_environment.sh\"\nexport VERBOSE_SCRIPT_LOGGING=1 && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/xcode_backend.sh build";
212
+ };
213
+ /* End PBXShellScriptBuildPhase section */
214
+
215
+ /* Begin PBXSourcesBuildPhase section */
216
+ 247187F827D496AC00059CE2 /* Sources */ = {
217
+ isa = PBXSourcesBuildPhase;
218
+ buildActionMask = 2147483647;
219
+ files = (
220
+ 2471880227D496AC00059CE2 /* ContentView.swift in Sources */,
221
+ 2471880027D496AC00059CE2 /* ios_appApp.swift in Sources */,
222
+ );
223
+ runOnlyForDeploymentPostprocessing = 0;
224
+ };
225
+ /* End PBXSourcesBuildPhase section */
226
+
227
+ /* Begin XCBuildConfiguration section */
228
+ 2471880827D496AD00059CE2 /* Debug */ = {
229
+ isa = XCBuildConfiguration;
230
+ buildSettings = {
231
+ ALWAYS_SEARCH_USER_PATHS = NO;
232
+ CLANG_ANALYZER_NONNULL = YES;
233
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
234
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
235
+ CLANG_CXX_LIBRARY = "libc++";
236
+ CLANG_ENABLE_MODULES = YES;
237
+ CLANG_ENABLE_OBJC_ARC = YES;
238
+ CLANG_ENABLE_OBJC_WEAK = YES;
239
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
240
+ CLANG_WARN_BOOL_CONVERSION = YES;
241
+ CLANG_WARN_COMMA = YES;
242
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
243
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
244
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
245
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
246
+ CLANG_WARN_EMPTY_BODY = YES;
247
+ CLANG_WARN_ENUM_CONVERSION = YES;
248
+ CLANG_WARN_INFINITE_RECURSION = YES;
249
+ CLANG_WARN_INT_CONVERSION = YES;
250
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
251
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
252
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
253
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
254
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
255
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
256
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
257
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
258
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
259
+ CLANG_WARN_UNREACHABLE_CODE = YES;
260
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
261
+ COPY_PHASE_STRIP = NO;
262
+ DEBUG_INFORMATION_FORMAT = dwarf;
263
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
264
+ ENABLE_TESTABILITY = YES;
265
+ GCC_C_LANGUAGE_STANDARD = gnu11;
266
+ GCC_DYNAMIC_NO_PIC = NO;
267
+ GCC_NO_COMMON_BLOCKS = YES;
268
+ GCC_OPTIMIZATION_LEVEL = 0;
269
+ GCC_PREPROCESSOR_DEFINITIONS = (
270
+ "DEBUG=1",
271
+ "$(inherited)",
272
+ );
273
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
274
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
275
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
276
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
277
+ GCC_WARN_UNUSED_FUNCTION = YES;
278
+ GCC_WARN_UNUSED_VARIABLE = YES;
279
+ IPHONEOS_DEPLOYMENT_TARGET = 15.2;
280
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
281
+ MTL_FAST_MATH = YES;
282
+ ONLY_ACTIVE_ARCH = YES;
283
+ SDKROOT = iphoneos;
284
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
285
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
286
+ };
287
+ name = Debug;
288
+ };
289
+ 2471880927D496AD00059CE2 /* Release */ = {
290
+ isa = XCBuildConfiguration;
291
+ buildSettings = {
292
+ ALWAYS_SEARCH_USER_PATHS = NO;
293
+ CLANG_ANALYZER_NONNULL = YES;
294
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
295
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
296
+ CLANG_CXX_LIBRARY = "libc++";
297
+ CLANG_ENABLE_MODULES = YES;
298
+ CLANG_ENABLE_OBJC_ARC = YES;
299
+ CLANG_ENABLE_OBJC_WEAK = YES;
300
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
301
+ CLANG_WARN_BOOL_CONVERSION = YES;
302
+ CLANG_WARN_COMMA = YES;
303
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
304
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
305
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
306
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
307
+ CLANG_WARN_EMPTY_BODY = YES;
308
+ CLANG_WARN_ENUM_CONVERSION = YES;
309
+ CLANG_WARN_INFINITE_RECURSION = YES;
310
+ CLANG_WARN_INT_CONVERSION = YES;
311
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
312
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
313
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
314
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
315
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
316
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
317
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
318
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
319
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
320
+ CLANG_WARN_UNREACHABLE_CODE = YES;
321
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
322
+ COPY_PHASE_STRIP = NO;
323
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
324
+ ENABLE_NS_ASSERTIONS = NO;
325
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
326
+ GCC_C_LANGUAGE_STANDARD = gnu11;
327
+ GCC_NO_COMMON_BLOCKS = YES;
328
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
329
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
330
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
331
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
332
+ GCC_WARN_UNUSED_FUNCTION = YES;
333
+ GCC_WARN_UNUSED_VARIABLE = YES;
334
+ IPHONEOS_DEPLOYMENT_TARGET = 15.2;
335
+ MTL_ENABLE_DEBUG_INFO = NO;
336
+ MTL_FAST_MATH = YES;
337
+ SDKROOT = iphoneos;
338
+ SWIFT_COMPILATION_MODE = wholemodule;
339
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
340
+ VALIDATE_PRODUCT = YES;
341
+ };
342
+ name = Release;
343
+ };
344
+ 2471880B27D496AD00059CE2 /* Debug */ = {
345
+ isa = XCBuildConfiguration;
346
+ baseConfigurationReference = 50ED8077F22A1CBA4F02FFCF /* Pods-ios_app.debug.xcconfig */;
347
+ buildSettings = {
348
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
349
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
350
+ CODE_SIGN_STYLE = Automatic;
351
+ CURRENT_PROJECT_VERSION = 1;
352
+ DEVELOPMENT_ASSET_PATHS = "\"ios_app/Preview Content\"";
353
+ ENABLE_PREVIEWS = YES;
354
+ GENERATE_INFOPLIST_FILE = YES;
355
+ INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
356
+ INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
357
+ INFOPLIST_KEY_UILaunchScreen_Generation = YES;
358
+ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
359
+ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
360
+ LD_RUNPATH_SEARCH_PATHS = (
361
+ "$(inherited)",
362
+ "@executable_path/Frameworks",
363
+ );
364
+ MARKETING_VERSION = 1.0;
365
+ PRODUCT_BUNDLE_IDENTIFIER = "com.soumyamahunt.ios-app";
366
+ PRODUCT_NAME = "$(TARGET_NAME)";
367
+ SWIFT_EMIT_LOC_STRINGS = YES;
368
+ SWIFT_VERSION = 5.0;
369
+ TARGETED_DEVICE_FAMILY = "1,2";
370
+ };
371
+ name = Debug;
372
+ };
373
+ 2471880C27D496AD00059CE2 /* Release */ = {
374
+ isa = XCBuildConfiguration;
375
+ baseConfigurationReference = 98E2D0C2FE73392EB0FDA00B /* Pods-ios_app.release.xcconfig */;
376
+ buildSettings = {
377
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
378
+ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
379
+ CODE_SIGN_STYLE = Automatic;
380
+ CURRENT_PROJECT_VERSION = 1;
381
+ DEVELOPMENT_ASSET_PATHS = "\"ios_app/Preview Content\"";
382
+ ENABLE_PREVIEWS = YES;
383
+ GENERATE_INFOPLIST_FILE = YES;
384
+ INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
385
+ INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
386
+ INFOPLIST_KEY_UILaunchScreen_Generation = YES;
387
+ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
388
+ INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
389
+ LD_RUNPATH_SEARCH_PATHS = (
390
+ "$(inherited)",
391
+ "@executable_path/Frameworks",
392
+ );
393
+ MARKETING_VERSION = 1.0;
394
+ PRODUCT_BUNDLE_IDENTIFIER = "com.soumyamahunt.ios-app";
395
+ PRODUCT_NAME = "$(TARGET_NAME)";
396
+ SWIFT_EMIT_LOC_STRINGS = YES;
397
+ SWIFT_VERSION = 5.0;
398
+ TARGETED_DEVICE_FAMILY = "1,2";
399
+ };
400
+ name = Release;
401
+ };
402
+ /* End XCBuildConfiguration section */
403
+
404
+ /* Begin XCConfigurationList section */
405
+ 247187F727D496AC00059CE2 /* Build configuration list for PBXProject "ios_app" */ = {
406
+ isa = XCConfigurationList;
407
+ buildConfigurations = (
408
+ 2471880827D496AD00059CE2 /* Debug */,
409
+ 2471880927D496AD00059CE2 /* Release */,
410
+ );
411
+ defaultConfigurationIsVisible = 0;
412
+ defaultConfigurationName = Release;
413
+ };
414
+ 2471880A27D496AD00059CE2 /* Build configuration list for PBXNativeTarget "ios_app" */ = {
415
+ isa = XCConfigurationList;
416
+ buildConfigurations = (
417
+ 2471880B27D496AD00059CE2 /* Debug */,
418
+ 2471880C27D496AD00059CE2 /* Release */,
419
+ );
420
+ defaultConfigurationIsVisible = 0;
421
+ defaultConfigurationName = Release;
422
+ };
423
+ /* End XCConfigurationList section */
424
+ };
425
+ rootObject = 247187F427D496AC00059CE2 /* Project object */;
426
+ }
@@ -0,0 +1,93 @@
1
+ require 'cocoapods-embed-flutter/flutter/pubspec'
2
+
3
+ module Flutter
4
+ module Pub
5
+ # Provides a DSL to describe a flutter dependency. A dependency is defined in
6
+ # `pubspec.yaml` in `dependencies` or `dev_dependencies` sections.
7
+ #
8
+ class Dependency
9
+ # @return [String] the name of the dependency.
10
+ #
11
+ attr_reader :name
12
+ # @return [String, Hash] the requirements for
13
+ # dependency as declred in parent `pubspec`.
14
+ #
15
+ attr_reader :requirements
16
+ # @return [Spec] the parent specification where
17
+ # dependency declared.
18
+ #
19
+ attr_reader :parent_spec
20
+ # @return [Boolean] If this specification is an app specification.
21
+ #
22
+ attr_reader :is_dev_dependency
23
+
24
+ # @param [String] name
25
+ # the name of the specification.
26
+ #
27
+ # @param [String, Hash] requirements
28
+ # the requirements for dependency as declred in `pubspec`
29
+ #
30
+ # @param [Spec] parent_specification
31
+ # the parent specification where dependency declared
32
+ #
33
+ # @param [Boolean] is_dev_dependency
34
+ # Whether the dependency only required during development
35
+ #
36
+ def initialize(name, requirements, parent_spec, dev_dependency = false)
37
+ raise StandardError, 'A flutter dependency requires a name.' unless name
38
+ raise StandardError, 'A flutter dependency requires a parent pubspec.' unless parent_spec.is_a?(Flutter::Pub::Spec)
39
+ @name = name
40
+ @requirements = requirements
41
+ @parent_spec = parent_spec
42
+ @is_dev_dependency = dev_dependency
43
+ end
44
+
45
+ # Returns dependencies from hash declared in `dependencies` or `dev_dependencies`
46
+ # section in `pubspec.yaml` file.
47
+ #
48
+ # @param [Hash] hash declared in `dependencies` or `dev_dependencies`
49
+ # section in `pubspec.yaml` file
50
+ #
51
+ # @param [Spec] parent_specification
52
+ # the parent specification where dependency declared
53
+ #
54
+ # @param [Boolean] is_dev_dependency
55
+ # Whether the dependency only required during development
56
+ #
57
+ # @return [Array<Dependency>] dependencies from hash declared in `dependencies`
58
+ # or `dev_dependencies` section in `pubspec.yaml` file.
59
+ #
60
+ def self.create_from_hash(hash, parent_spec, dev_dependency = false)
61
+ raise StandardError, 'A flutter dependency requires a parent pubspec.' unless parent_spec.is_a?(Flutter::Pub::Spec)
62
+ hash.keys.map { |key| Dependency.new(key, hash[key], parent_spec, dev_dependency) }
63
+ end
64
+
65
+ # @return [Boolean] If this dependency is a local flutter project.
66
+ #
67
+ def local?
68
+ requirements.is_a?(Hash) && requirements.include?('path')
69
+ end
70
+
71
+ # @return [Spec] for this dependency if this dependency is a local flutter project.
72
+ #
73
+ def spec
74
+ Spec.find(name, File.expand_path(path, File.dirname(parent_spec.defined_in_file)))
75
+ end
76
+
77
+ # Install this dependency for the parent project.
78
+ #
79
+ # @return void
80
+ #
81
+ def install
82
+ spec.setup if local?
83
+ end
84
+
85
+ def method_missing(m, *args, &block)
86
+ if requirements.is_a?(Hash) && requirements.include?(m.to_s)
87
+ return requirements[m.to_s]
88
+ end
89
+ super.method_missing(m, *args, &block)
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,61 @@
1
+ require 'cocoapods'
2
+ require 'fileutils'
3
+
4
+ module Flutter
5
+ module Pub
6
+ module Downloader
7
+ # Downloads a package from the given `request` to the given `target` location.
8
+ #
9
+ # @return [Response] The download response for this download.
10
+ #
11
+ # @param [Request] request
12
+ # the request that describes this pod download.
13
+ #
14
+ # @param [Pathname,Nil] target
15
+ # the location to which this pod should be downloaded. If `nil`,
16
+ # then the pod will only be cached.
17
+ #
18
+ # @param [Boolean] can_cache
19
+ # whether caching is allowed.
20
+ #
21
+ # @param [Pathname,Nil] cache_path
22
+ # the path used to cache pod downloads.
23
+ #
24
+ # @todo Implement caching for remote sources.
25
+ #
26
+ def self.download(
27
+ request,
28
+ target,
29
+ can_cache: true,
30
+ cache_path: Pod::Config.instance.cache_root + 'Pods'
31
+ )
32
+ can_cache &&= !Pod::Config.instance.skip_download_cache
33
+
34
+ request = Pod::Downloader.preprocess_request(request)
35
+
36
+ # if can_cache
37
+ # raise ArgumentError, 'Must provide a `cache_path` when caching.' unless cache_path
38
+ # cache = Pod::Downloader::Cache.new(cache_path)
39
+ # result = cache.download_pod(request)
40
+ # else
41
+ # raise ArgumentError, 'Must provide a `target` when caching is disabled.' unless target
42
+
43
+ # result, = Pod::Downloader.download_request(request, target)
44
+ # Pod::Installer::PodSourcePreparer.new(result.spec, result.location).prepare!
45
+ # end
46
+ raise ArgumentError, 'Must provide a `target` when caching is disabled.' unless target
47
+ result, = Pod::Downloader.download_request(request, target)
48
+
49
+ if target && result.location && target != result.location
50
+ Pod::UI.message "Copying #{request.name} from `#{result.location}` to #{UI.path target}", '> ' do
51
+ Pod::Downloader::Cache.read_lock(result.location) do
52
+ FileUtils.rm_rf target
53
+ FileUtils.cp_r(result.location, target)
54
+ end
55
+ end
56
+ end
57
+ result
58
+ end
59
+ end
60
+ end
61
+ end