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.
- checksums.yaml +7 -0
- data/.github/config/config.js +21 -0
- data/.github/config/package-lock.json +223 -0
- data/.github/config/package.json +16 -0
- data/.github/config/pre_changelog_hook.js +27 -0
- data/.github/dependabot.yml +23 -0
- data/.github/workflows/main.yml +145 -0
- data/.gitignore +178 -0
- data/CHANGELOG.md +32 -0
- data/CODE_OF_CONDUCT.md +76 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +170 -0
- data/LICENSE +21 -0
- data/README.md +35 -0
- data/Rakefile +39 -0
- data/cocoapods-embed-flutter.gemspec +30 -0
- data/example/flutter_module/.gitignore +48 -0
- data/example/flutter_module/.metadata +10 -0
- data/example/flutter_module/README.md +11 -0
- data/example/flutter_module/analysis_options.yaml +4 -0
- data/example/flutter_module/flutter_module.iml +18 -0
- data/example/flutter_module/flutter_module_android.iml +27 -0
- data/example/flutter_module/lib/main.dart +112 -0
- data/example/flutter_module/pubspec.lock +174 -0
- data/example/flutter_module/pubspec.yaml +87 -0
- data/example/flutter_module/test/widget_test.dart +30 -0
- data/example/ios_app/Gemfile +4 -0
- data/example/ios_app/Gemfile.lock +110 -0
- data/example/ios_app/Podfile +11 -0
- data/example/ios_app/Podfile.lock +28 -0
- data/example/ios_app/ios_app/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
- data/example/ios_app/ios_app/Assets.xcassets/AppIcon.appiconset/Contents.json +98 -0
- data/example/ios_app/ios_app/Assets.xcassets/Contents.json +6 -0
- data/example/ios_app/ios_app/ContentView.swift +40 -0
- data/example/ios_app/ios_app/Preview Content/Preview Assets.xcassets/Contents.json +6 -0
- data/example/ios_app/ios_app/ios_appApp.swift +18 -0
- data/example/ios_app/ios_app.xcodeproj/project.pbxproj +426 -0
- data/lib/cocoapods-embed-flutter/flutter/dependency.rb +93 -0
- data/lib/cocoapods-embed-flutter/flutter/downloader.rb +61 -0
- data/lib/cocoapods-embed-flutter/flutter/external_sources.rb +201 -0
- data/lib/cocoapods-embed-flutter/flutter/pubspec.rb +166 -0
- data/lib/cocoapods-embed-flutter/gem_version.rb +3 -0
- data/lib/cocoapods-embed-flutter/hooks/post_install.rb +8 -0
- data/lib/cocoapods-embed-flutter/hooks.rb +1 -0
- data/lib/cocoapods-embed-flutter/source.rb +1 -0
- data/lib/cocoapods-embed-flutter/src/pub.rb +114 -0
- data/lib/cocoapods-embed-flutter.rb +3 -0
- data/lib/cocoapods_plugin.rb +1 -0
- data/spec/info_spec.rb +7 -0
- data/spec/spec_helper.rb +50 -0
- 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
|