pod-builder 5.1.1 → 5.1.2
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 +4 -4
- data/Gemfile +1 -1
- data/exe/pod_builder +105 -77
- data/lib/pod_builder/command/build.rb +41 -41
- data/lib/pod_builder/command/build_swiftmodules.rb +123 -0
- data/lib/pod_builder/command/init.rb +16 -16
- data/lib/pod_builder/command.rb +16 -15
- data/lib/pod_builder/configuration.rb +42 -34
- data/lib/pod_builder/install.rb +92 -90
- data/lib/pod_builder/podfile.rb +66 -59
- data/lib/pod_builder/podfile_item.rb +52 -52
- data/lib/pod_builder/rome/post_install.rb +151 -119
- data/lib/pod_builder/templates/build_podfile.template +1 -1
- data/lib/pod_builder/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4697670c51ee4a2f1318c9ef8e575fe86b2f231d4ad93447eceff7a42a3578b0
|
4
|
+
data.tar.gz: 8042c9575e6e1a624586fc260b4392a8056514b1060b45ad25307558391c5d83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a26bccfca5addf5d447703f28a920daa6f3fe06ce11c6ae96d26a2551d1f7545fd7f8e5737965d93670be9b2876c6a57f021ae33efd356df4cc619821d1b4fb6
|
7
|
+
data.tar.gz: 36c843a5ccbe92a4472272c45fef4f5c9c1d77eecef09831470d4189912e3456265b09307d23a40561b7de4292620502fa2adb59a41897c23d130c25c0b2ed15
|
data/Gemfile
CHANGED
data/exe/pod_builder
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
3
|
+
require "pod_builder/version"
|
4
4
|
|
5
5
|
show_version = ARGV.include?("version") && ARGV.count == 1
|
6
6
|
if show_version
|
@@ -14,14 +14,14 @@ if ENV["DEBUGGING"]
|
|
14
14
|
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
|
15
15
|
end
|
16
16
|
|
17
|
-
require
|
18
|
-
require
|
19
|
-
require
|
17
|
+
require "optparse"
|
18
|
+
require "pod_builder/core"
|
19
|
+
require "pod_builder/command"
|
20
20
|
|
21
|
-
OPTIONS = {}
|
21
|
+
OPTIONS = {}
|
22
22
|
|
23
|
-
def parse_commandline()
|
24
|
-
subcommands = {
|
23
|
+
def parse_commandline()
|
24
|
+
subcommands = {
|
25
25
|
"none" => {
|
26
26
|
:opts => OptionParser.new do |opts|
|
27
27
|
opts.banner = "
|
@@ -36,6 +36,7 @@ Command:
|
|
36
36
|
+ deintegrate Deintegrate prebuild folders
|
37
37
|
+ build Build a specific pod declared in the PodBuilder-Podfile
|
38
38
|
+ build_all Build all pods declared in the PodBuilder-Podfile
|
39
|
+
+ build_swiftmodules Rebuild swiftmodules from swiftinterface
|
39
40
|
+ update Rebuild items that are outdated
|
40
41
|
+ restore_all Rebuild all pods declared in the Restore-Podfile
|
41
42
|
+ install_sources Install sources of pods to debug into prebuilt items
|
@@ -53,8 +54,8 @@ Options:
|
|
53
54
|
end
|
54
55
|
end,
|
55
56
|
:call => [
|
56
|
-
PodBuilder::Command::None
|
57
|
-
]
|
57
|
+
PodBuilder::Command::None,
|
58
|
+
],
|
58
59
|
},
|
59
60
|
|
60
61
|
"build" => {
|
@@ -67,7 +68,7 @@ Usage:
|
|
67
68
|
Prebuild the specified CocoaPods pods.
|
68
69
|
|
69
70
|
Options:
|
70
|
-
"
|
71
|
+
"
|
71
72
|
opts.on("-u", "--skip-repo-update", "Skip CocoaPods repo update") do |o|
|
72
73
|
OPTIONS[:update_repos] = false
|
73
74
|
end
|
@@ -85,11 +86,11 @@ Options:
|
|
85
86
|
end
|
86
87
|
end,
|
87
88
|
:call => [
|
88
|
-
PodBuilder::Command::Build
|
89
|
-
]
|
89
|
+
PodBuilder::Command::Build,
|
90
|
+
],
|
90
91
|
},
|
91
92
|
|
92
|
-
"build_all" => {
|
93
|
+
"build_all" => {
|
93
94
|
:opts => OptionParser.new do |opts|
|
94
95
|
opts.banner = "
|
95
96
|
Usage:
|
@@ -99,7 +100,7 @@ Usage:
|
|
99
100
|
Prebuild all pods specified in the PodBuilder-Podfile.
|
100
101
|
|
101
102
|
Options:
|
102
|
-
"
|
103
|
+
"
|
103
104
|
opts.on("-u", "--skip-repo-update", "Skip CocoaPods repo update") do |o|
|
104
105
|
OPTIONS[:update_repos] = false
|
105
106
|
end
|
@@ -117,11 +118,37 @@ Options:
|
|
117
118
|
end
|
118
119
|
end,
|
119
120
|
:call => [
|
120
|
-
PodBuilder::Command::BuildAll
|
121
|
-
]
|
121
|
+
PodBuilder::Command::BuildAll,
|
122
|
+
],
|
122
123
|
},
|
123
124
|
|
124
|
-
"
|
125
|
+
"build_swiftmodules" => {
|
126
|
+
:opts => OptionParser.new do |opts|
|
127
|
+
opts.banner = "
|
128
|
+
Usage:
|
129
|
+
|
130
|
+
$ pod_builder build_swiftmodules [OPTIONS]
|
131
|
+
|
132
|
+
Rebuild swiftmodules from swiftinterfaces
|
133
|
+
|
134
|
+
Options:
|
135
|
+
"
|
136
|
+
opts.on("-u", "--skip-repo-update", "Skip CocoaPods repo update") do |o|
|
137
|
+
OPTIONS[:update_repos] = false
|
138
|
+
end
|
139
|
+
opts.on("-f", "--force", "Rebuild swiftmodules even if they already exists") do |o|
|
140
|
+
OPTIONS[:force_rebuild] = true
|
141
|
+
end
|
142
|
+
opts.on("-q", "--quiet", "Reduce verbosity") do |o|
|
143
|
+
OPTIONS[:quiet] = o
|
144
|
+
end
|
145
|
+
end,
|
146
|
+
:call => [
|
147
|
+
PodBuilder::Command::CompileSwiftModules,
|
148
|
+
],
|
149
|
+
},
|
150
|
+
|
151
|
+
"update" => {
|
125
152
|
:opts => OptionParser.new do |opts|
|
126
153
|
opts.banner = "
|
127
154
|
Usage:
|
@@ -131,7 +158,7 @@ Usage:
|
|
131
158
|
Rebuild items that are outdated
|
132
159
|
|
133
160
|
Options:
|
134
|
-
"
|
161
|
+
"
|
135
162
|
opts.on("-u", "--skip-repo-update", "Skip CocoaPods repo update") do |o|
|
136
163
|
OPTIONS[:update_repos] = false
|
137
164
|
end
|
@@ -146,11 +173,11 @@ Options:
|
|
146
173
|
end
|
147
174
|
end,
|
148
175
|
:call => [
|
149
|
-
PodBuilder::Command::Update
|
150
|
-
]
|
176
|
+
PodBuilder::Command::Update,
|
177
|
+
],
|
151
178
|
},
|
152
179
|
|
153
|
-
"restore_all" => {
|
180
|
+
"restore_all" => {
|
154
181
|
:opts => OptionParser.new do |opts|
|
155
182
|
opts.banner = "
|
156
183
|
Usage:
|
@@ -160,7 +187,7 @@ Usage:
|
|
160
187
|
Rebuilds all pods to the version specified in the Restore-Podfile.
|
161
188
|
|
162
189
|
Options:
|
163
|
-
"
|
190
|
+
"
|
164
191
|
opts.on("-u", "--skip-repo-update", "Skip CocoaPods repo update") do |o|
|
165
192
|
OPTIONS[:update_repos] = false
|
166
193
|
end
|
@@ -169,11 +196,11 @@ Options:
|
|
169
196
|
end
|
170
197
|
end,
|
171
198
|
:call => [
|
172
|
-
PodBuilder::Command::RestoreAll
|
173
|
-
]
|
199
|
+
PodBuilder::Command::RestoreAll,
|
200
|
+
],
|
174
201
|
},
|
175
202
|
|
176
|
-
"init" => {
|
203
|
+
"init" => {
|
177
204
|
:opts => OptionParser.new do |opts|
|
178
205
|
opts.banner = "
|
179
206
|
Usage:
|
@@ -183,25 +210,25 @@ Usage:
|
|
183
210
|
Initializes PodBuilder.
|
184
211
|
|
185
212
|
Options:
|
186
|
-
"
|
213
|
+
"
|
187
214
|
opts.on("-d", "--destination path", "Prebuilt destination path (default: #{PodBuilder::Configuration.base_path})") do |o|
|
188
215
|
OPTIONS[:prebuild_path] = o
|
189
216
|
end
|
190
217
|
end,
|
191
|
-
:call => [
|
192
|
-
PodBuilder::Command::Init
|
193
|
-
]
|
218
|
+
:call => [
|
219
|
+
PodBuilder::Command::Init,
|
220
|
+
],
|
194
221
|
},
|
195
222
|
|
196
223
|
"generate_podspec" => {
|
197
224
|
:opts => OptionParser.new do |opts|
|
198
225
|
end,
|
199
|
-
:call => [
|
200
|
-
PodBuilder::Command::GeneratePodspec
|
201
|
-
]
|
226
|
+
:call => [
|
227
|
+
PodBuilder::Command::GeneratePodspec,
|
228
|
+
],
|
202
229
|
},
|
203
230
|
|
204
|
-
"deintegrate" => {
|
231
|
+
"deintegrate" => {
|
205
232
|
:opts => OptionParser.new do |opts|
|
206
233
|
opts.banner = "
|
207
234
|
Usage:
|
@@ -211,14 +238,14 @@ Usage:
|
|
211
238
|
Remove PodBuilder from your project.
|
212
239
|
|
213
240
|
Options:
|
214
|
-
"
|
241
|
+
"
|
215
242
|
end,
|
216
|
-
:call => [
|
217
|
-
PodBuilder::Command::Deintegrate
|
218
|
-
]
|
243
|
+
:call => [
|
244
|
+
PodBuilder::Command::Deintegrate,
|
245
|
+
],
|
219
246
|
},
|
220
247
|
|
221
|
-
"clean" => {
|
248
|
+
"clean" => {
|
222
249
|
:opts => OptionParser.new do |opts|
|
223
250
|
opts.banner = "
|
224
251
|
Usage:
|
@@ -228,17 +255,17 @@ Usage:
|
|
228
255
|
Remove unused prebuild data, dSYM and source folders.
|
229
256
|
|
230
257
|
Options:
|
231
|
-
"
|
258
|
+
"
|
232
259
|
opts.on("-u", "--skip-repo-update", "Skip CocoaPods repo update") do |o|
|
233
260
|
OPTIONS[:update_repos] = false
|
234
261
|
end
|
235
262
|
end,
|
236
|
-
:call => [
|
237
|
-
PodBuilder::Command::Clean
|
238
|
-
]
|
263
|
+
:call => [
|
264
|
+
PodBuilder::Command::Clean,
|
265
|
+
],
|
239
266
|
},
|
240
267
|
|
241
|
-
"install_sources" => {
|
268
|
+
"install_sources" => {
|
242
269
|
:opts => OptionParser.new do |opts|
|
243
270
|
opts.banner = "
|
244
271
|
Usage:
|
@@ -248,7 +275,7 @@ Usage:
|
|
248
275
|
Install source of prebuilt pods to be able to step into and debug prebuilt's code.
|
249
276
|
|
250
277
|
Options:
|
251
|
-
"
|
278
|
+
"
|
252
279
|
opts.on("-a", "--all", "Install all available sources") do |o|
|
253
280
|
OPTIONS[:all] = o
|
254
281
|
end
|
@@ -256,12 +283,12 @@ Options:
|
|
256
283
|
OPTIONS[:no_stdin_available] = o
|
257
284
|
end
|
258
285
|
end,
|
259
|
-
:call => [
|
260
|
-
PodBuilder::Command::InstallSources
|
261
|
-
]
|
286
|
+
:call => [
|
287
|
+
PodBuilder::Command::InstallSources,
|
288
|
+
],
|
262
289
|
},
|
263
290
|
|
264
|
-
"generate_lldbinit" => {
|
291
|
+
"generate_lldbinit" => {
|
265
292
|
:opts => OptionParser.new do |opts|
|
266
293
|
opts.banner = "
|
267
294
|
Usage:
|
@@ -277,12 +304,12 @@ Usage:
|
|
277
304
|
source code dependencies to live in the project repo.
|
278
305
|
"
|
279
306
|
end,
|
280
|
-
:call => [
|
281
|
-
PodBuilder::Command::UpdateLldbInit
|
282
|
-
]
|
307
|
+
:call => [
|
308
|
+
PodBuilder::Command::UpdateLldbInit,
|
309
|
+
],
|
283
310
|
},
|
284
311
|
|
285
|
-
"switch" => {
|
312
|
+
"switch" => {
|
286
313
|
:opts => OptionParser.new do |opts|
|
287
314
|
opts.banner = "
|
288
315
|
Usage:
|
@@ -292,7 +319,7 @@ Usage:
|
|
292
319
|
Switch integration between prebuilt/development/default pod version. Multiple space separated pods can be passed
|
293
320
|
|
294
321
|
Options:
|
295
|
-
"
|
322
|
+
"
|
296
323
|
opts.on("-p", "--prebuilt", "Use prebuilt") do |o|
|
297
324
|
OPTIONS[:switch_mode] = "prebuilt"
|
298
325
|
end
|
@@ -312,12 +339,12 @@ Options:
|
|
312
339
|
OPTIONS[:update_repos] = false
|
313
340
|
end
|
314
341
|
end,
|
315
|
-
:call => [
|
316
|
-
PodBuilder::Command::Switch
|
317
|
-
]
|
342
|
+
:call => [
|
343
|
+
PodBuilder::Command::Switch,
|
344
|
+
],
|
318
345
|
},
|
319
346
|
|
320
|
-
"switch_all" => {
|
347
|
+
"switch_all" => {
|
321
348
|
:opts => OptionParser.new do |opts|
|
322
349
|
opts.banner = "
|
323
350
|
Usage:
|
@@ -327,7 +354,7 @@ Usage:
|
|
327
354
|
Switch all pods integration between prebuilt/development/default version.
|
328
355
|
|
329
356
|
Options:
|
330
|
-
"
|
357
|
+
"
|
331
358
|
opts.on("-p", "--prebuilt", "Use prebuilt") do |o|
|
332
359
|
OPTIONS[:switch_mode] = "prebuilt"
|
333
360
|
end
|
@@ -347,12 +374,12 @@ Options:
|
|
347
374
|
OPTIONS[:update_repos] = false
|
348
375
|
end
|
349
376
|
end,
|
350
|
-
:call => [
|
351
|
-
PodBuilder::Command::SwitchAll
|
352
|
-
]
|
377
|
+
:call => [
|
378
|
+
PodBuilder::Command::SwitchAll,
|
379
|
+
],
|
353
380
|
},
|
354
381
|
|
355
|
-
"sync_podfile" => {
|
382
|
+
"sync_podfile" => {
|
356
383
|
:opts => OptionParser.new do |opts|
|
357
384
|
opts.banner = "
|
358
385
|
Usage:
|
@@ -364,17 +391,17 @@ Usage:
|
|
364
391
|
and you want to integrate it in the project without rebuilding it.
|
365
392
|
|
366
393
|
Options:
|
367
|
-
"
|
394
|
+
"
|
368
395
|
opts.on("-u", "--skip-repo-update", "Skip CocoaPods repo update") do |o|
|
369
396
|
OPTIONS[:update_repos] = false
|
370
397
|
end
|
371
398
|
end,
|
372
|
-
:call => [
|
373
|
-
PodBuilder::Command::SyncPodfile
|
374
|
-
]
|
399
|
+
:call => [
|
400
|
+
PodBuilder::Command::SyncPodfile,
|
401
|
+
],
|
375
402
|
},
|
376
|
-
|
377
|
-
"info" => {
|
403
|
+
|
404
|
+
"info" => {
|
378
405
|
:opts => OptionParser.new do |opts|
|
379
406
|
opts.banner = "
|
380
407
|
Usage:
|
@@ -383,20 +410,21 @@ Usage:
|
|
383
410
|
|
384
411
|
Output dependencies and prebuilt informations
|
385
412
|
|
386
|
-
"
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
413
|
+
"
|
414
|
+
end,
|
415
|
+
:call => [
|
416
|
+
PodBuilder::Command::Info,
|
417
|
+
],
|
418
|
+
},
|
391
419
|
}
|
392
|
-
|
420
|
+
|
393
421
|
argv = ARGV.dup
|
394
422
|
if subcommand = subcommands[argv.first]
|
395
423
|
ARGV.shift
|
396
424
|
else
|
397
425
|
subcommand = subcommands["none"]
|
398
426
|
end
|
399
|
-
|
427
|
+
|
400
428
|
ret = -1
|
401
429
|
show_help = argv.include?("--help") || argv.include?("-h") || argv.count == 0
|
402
430
|
if show_help
|
@@ -406,13 +434,13 @@ Usage:
|
|
406
434
|
|
407
435
|
PodBuilder::add_lockfile
|
408
436
|
|
409
|
-
subcommand[:opts].order!
|
437
|
+
subcommand[:opts].order!
|
410
438
|
subcommand[:call].each do |k|
|
411
439
|
if (ret = k.call) && ret == -1
|
412
440
|
puts subcommand[:opts].help
|
413
441
|
end
|
414
442
|
end
|
415
|
-
end
|
443
|
+
end
|
416
444
|
|
417
445
|
return ret
|
418
446
|
end
|
@@ -1,15 +1,15 @@
|
|
1
|
-
require
|
1
|
+
require "pod_builder/core"
|
2
2
|
|
3
3
|
module PodBuilder
|
4
4
|
module Command
|
5
5
|
class Build
|
6
|
-
def self.call
|
6
|
+
def self.call
|
7
7
|
Configuration.check_inited
|
8
8
|
PodBuilder::prepare_basepath
|
9
9
|
|
10
10
|
argument_pods = ARGV.dup
|
11
11
|
|
12
|
-
unless argument_pods.count > 0
|
12
|
+
unless argument_pods.count > 0
|
13
13
|
return -1
|
14
14
|
end
|
15
15
|
|
@@ -35,16 +35,16 @@ module PodBuilder
|
|
35
35
|
argument_pods.uniq!
|
36
36
|
end
|
37
37
|
|
38
|
-
available_argument_pods = argument_pods.select { |x| all_buildable_items.map(&:root_name).include?(x) }
|
38
|
+
available_argument_pods = argument_pods.select { |x| all_buildable_items.map(&:root_name).include?(x) }
|
39
39
|
(argument_pods - available_argument_pods).each { |x|
|
40
40
|
puts "'#{x}' not found, skipping".magenta
|
41
41
|
}
|
42
42
|
argument_pods = available_argument_pods.uniq
|
43
|
-
|
43
|
+
|
44
44
|
Podfile.restore_podfile_clean(all_buildable_items)
|
45
45
|
|
46
46
|
restore_file_error = Podfile.restore_file_sanity_check
|
47
|
-
|
47
|
+
|
48
48
|
check_pods_exists(argument_pods, all_buildable_items)
|
49
49
|
|
50
50
|
pods_to_build = resolve_pods_to_build(argument_pods, buildable_items)
|
@@ -62,7 +62,7 @@ module PodBuilder
|
|
62
62
|
check_not_building_development_pods(pods_to_build)
|
63
63
|
|
64
64
|
# We need to recursively add dependencies to properly split pods in groups.
|
65
|
-
# Example:
|
65
|
+
# Example:
|
66
66
|
# 1. PodA has a dep to PodB
|
67
67
|
# 2. PodB is marked to be built as xcframework
|
68
68
|
# 3. We rebuild PodA only (pods_to_build contains only PodA)
|
@@ -80,9 +80,9 @@ module PodBuilder
|
|
80
80
|
|
81
81
|
check_dependencies_build_configurations(all_buildable_items)
|
82
82
|
|
83
|
-
# When building mixed framwork/xcframeworks pods xcframeworks should be built last
|
83
|
+
# When building mixed framwork/xcframeworks pods xcframeworks should be built last
|
84
84
|
# so that the .xcframework overwrite the .framwork if the same pod needs to be built
|
85
|
-
# in both ways.
|
85
|
+
# in both ways.
|
86
86
|
# For example we might have configured to build onlt PodA as xcframework, another pod
|
87
87
|
# PodB has a dependency to PodA. When Building PodB, PodA gets rebuilt as .framework
|
88
88
|
# but then PodA gets rebuilt again as .xcframework overwriting the .framework.
|
@@ -91,15 +91,15 @@ module PodBuilder
|
|
91
91
|
install_using_frameworks = Podfile::install_using_frameworks(analyzer)
|
92
92
|
if Configuration.react_native_project
|
93
93
|
if install_using_frameworks
|
94
|
-
raise "\n\nOnly static library packaging currently supported for react native projects. Please remove 'use_frameworks!' in #{PodBuilder::basepath("Podfile")}\n".red
|
95
|
-
end
|
94
|
+
raise "\n\nOnly static library packaging currently supported for react native projects. Please remove 'use_frameworks!' in #{PodBuilder::basepath("Podfile")}\n".red
|
95
|
+
end
|
96
96
|
prepare_defines_modules_override(all_buildable_items)
|
97
97
|
else
|
98
98
|
unless install_using_frameworks
|
99
99
|
raise "\n\nOnly framework packaging currently supported. Please add 'use_frameworks!' at root level (not nested in targets) in #{PodBuilder::basepath("Podfile")}\n".red
|
100
|
-
end
|
100
|
+
end
|
101
101
|
end
|
102
|
-
|
102
|
+
|
103
103
|
build_catalyst = should_build_catalyst(installer)
|
104
104
|
|
105
105
|
install_result = InstallResult.new
|
@@ -112,7 +112,7 @@ module PodBuilder
|
|
112
112
|
# 2. PodB is marked to be built as xcframework -> PodB will be added to pods_to_build_release_xcframework and won't be present in
|
113
113
|
# pods_to_build_release and therefore build will fail
|
114
114
|
podfile_items = podfile_items.map { |t| t.recursive_dependencies(all_buildable_items) }.flatten.uniq
|
115
|
-
|
115
|
+
|
116
116
|
podfile_content = Podfile.from_podfile_items(podfile_items, analyzer, build_configuration, install_using_frameworks, build_catalyst, podfile_items.first.build_xcframework)
|
117
117
|
|
118
118
|
PodBuilder::safe_rm_rf(Configuration.build_path)
|
@@ -121,9 +121,9 @@ module PodBuilder
|
|
121
121
|
init_git(Configuration.build_path) # this is needed to be able to call safe_rm_rf
|
122
122
|
|
123
123
|
Configuration.pre_actions[:build]&.execute()
|
124
|
-
|
125
|
-
install_result += Install.podfile(podfile_content, podfile_items, argument_pods, podfile_items.first.build_configuration)
|
126
|
-
|
124
|
+
|
125
|
+
install_result += Install.podfile(podfile_content, podfile_items, argument_pods, podfile_items.first.build_configuration)
|
126
|
+
|
127
127
|
FileUtils.rm_f(PodBuilder::basepath("Podfile.lock"))
|
128
128
|
|
129
129
|
Configuration.post_actions[:build]&.execute()
|
@@ -138,13 +138,13 @@ module PodBuilder
|
|
138
138
|
Podspec::generate(all_buildable_items, analyzer, install_using_frameworks)
|
139
139
|
|
140
140
|
builded_pods = podfiles_items.flatten
|
141
|
-
|
141
|
+
|
142
142
|
builded_pods_and_deps = podfiles_items.flatten.map { |t| t.recursive_dependencies(all_buildable_items) }.flatten.uniq
|
143
143
|
builded_pods_and_deps.select! { |x| !x.is_prebuilt }
|
144
|
-
|
144
|
+
|
145
145
|
prebuilt_pods_to_install = prebuilt_items.select { |x| argument_pods.include?(x.root_name) }
|
146
|
-
Podfile::write_restorable(builded_pods_and_deps + prebuilt_pods_to_install, all_buildable_items, analyzer)
|
147
|
-
if !OPTIONS.has_key?(:skip_prebuild_update)
|
146
|
+
Podfile::write_restorable(builded_pods_and_deps + prebuilt_pods_to_install, all_buildable_items, analyzer)
|
147
|
+
if !OPTIONS.has_key?(:skip_prebuild_update)
|
148
148
|
Podfile::write_prebuilt(all_buildable_items, analyzer)
|
149
149
|
end
|
150
150
|
|
@@ -152,7 +152,7 @@ module PodBuilder
|
|
152
152
|
|
153
153
|
if (restore_file_error = restore_file_error) && Configuration.restore_enabled
|
154
154
|
puts "\n\n⚠️ Podfile.restore was found invalid and was overwritten. Error:\n #{restore_file_error}".red
|
155
|
-
end
|
155
|
+
end
|
156
156
|
|
157
157
|
puts "\n\n🎉 done!\n".green
|
158
158
|
return 0
|
@@ -161,19 +161,19 @@ module PodBuilder
|
|
161
161
|
private
|
162
162
|
|
163
163
|
def self.init_git(path)
|
164
|
-
Dir.chdir(path) do
|
164
|
+
Dir.chdir(path) do
|
165
165
|
system("git init")
|
166
166
|
end
|
167
|
-
end
|
167
|
+
end
|
168
168
|
|
169
169
|
def self.should_build_catalyst(installer)
|
170
170
|
integrate_targets = installer.podfile.installation_options.integrate_targets
|
171
171
|
|
172
172
|
# NOTE:
|
173
|
-
# When `integrate_targets` is false,
|
174
|
-
# `user_project` is nil and Build Settings cannot be collected,
|
173
|
+
# When `integrate_targets` is false,
|
174
|
+
# `user_project` is nil and Build Settings cannot be collected,
|
175
175
|
# so collect Build Settings from xcodeproj and root xcodeproj defined in the Podfile
|
176
|
-
# ref:
|
176
|
+
# ref:
|
177
177
|
# https://github.com/Subito-it/PodBuilder/issues/39
|
178
178
|
#
|
179
179
|
if integrate_targets
|
@@ -181,26 +181,26 @@ module PodBuilder
|
|
181
181
|
else
|
182
182
|
# Find all `xcodeproj` in Podfile
|
183
183
|
user_projects_build_settings = installer.analysis_result.targets.map { |t|
|
184
|
-
user_project_path = PodBuilder.basepath +
|
184
|
+
user_project_path = PodBuilder.basepath + "/" + t.target_definition.user_project_path
|
185
185
|
project = Xcodeproj::Project.open(user_project_path)
|
186
186
|
project.root_object.targets.map { |u| u.build_configuration_list.build_configurations.map { |v| v.build_settings } }
|
187
187
|
}
|
188
|
-
|
189
|
-
|
188
|
+
.flatten
|
189
|
+
.compact
|
190
190
|
|
191
191
|
# Find root `xcodeproj`
|
192
192
|
project = Xcodeproj::Project.open(PodBuilder.find_xcodeproj)
|
193
193
|
root_project_build_setting = project
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
194
|
+
.root_object
|
195
|
+
.targets
|
196
|
+
.map { |u| u.build_configuration_list.build_configurations.map { |v| v.build_settings } }
|
197
|
+
.flatten
|
198
198
|
|
199
199
|
build_settings = user_projects_build_settings | root_project_build_setting
|
200
200
|
end
|
201
|
-
|
202
|
-
build_catalyst = build_settings.detect { |t| t["SUPPORTS_MACCATALYST"] == "YES" } != nil
|
203
|
-
|
201
|
+
|
202
|
+
build_catalyst = build_settings.detect { |t| t["SUPPORTS_MACCATALYST"] == "YES" } != nil
|
203
|
+
|
204
204
|
puts "\nTo support Catalyst you should enable 'build_xcframeworks' in PodBuilder.json\n".red if build_catalyst && !Configuration.build_xcframeworks_all
|
205
205
|
|
206
206
|
return build_catalyst
|
@@ -237,7 +237,7 @@ module PodBuilder
|
|
237
237
|
|
238
238
|
remaining_pods = pods - [pod]
|
239
239
|
pods_with_common_deps = remaining_pods.select { |x| x.dependency_names.any? { |y| pod_dependency_names.include?(y) && !x.has_common_spec(y) } }
|
240
|
-
|
240
|
+
|
241
241
|
pods_with_unaligned_build_configuration = pods_with_common_deps.select { |x| x.build_configuration != pod.build_configuration }
|
242
242
|
pods_with_unaligned_build_configuration.map!(&:name)
|
243
243
|
|
@@ -246,7 +246,7 @@ module PodBuilder
|
|
246
246
|
end
|
247
247
|
|
248
248
|
def self.check_not_building_development_pods(pods)
|
249
|
-
if (development_pods = pods.select { |x| x.is_development_pod }) && development_pods.count > 0 && (OPTIONS[:allow_warnings].nil?
|
249
|
+
if (development_pods = pods.select { |x| x.is_development_pod }) && development_pods.count > 0 && (OPTIONS[:allow_warnings].nil? && Configuration.allow_building_development_pods == false && Configuration.react_native_project == false)
|
250
250
|
pod_names = development_pods.map(&:name).join(", ")
|
251
251
|
raise "\n\nThe following pods are in development mode: `#{pod_names}`, won't proceed building.\n\nYou can ignore this error by passing the `--allow-warnings` flag to the build command\n".red
|
252
252
|
end
|
@@ -263,7 +263,7 @@ module PodBuilder
|
|
263
263
|
|
264
264
|
def self.resolve_pods_to_build(argument_pods, buildable_items)
|
265
265
|
pods_to_build = []
|
266
|
-
|
266
|
+
|
267
267
|
pods_to_build = buildable_items.select { |x| argument_pods.include?(x.root_name) }
|
268
268
|
pods_to_build += other_subspecs(pods_to_build, buildable_items)
|
269
269
|
|
@@ -280,7 +280,7 @@ module PodBuilder
|
|
280
280
|
pods_to_build += dependencies
|
281
281
|
|
282
282
|
return pods_to_build.uniq
|
283
|
-
end
|
283
|
+
end
|
284
284
|
end
|
285
285
|
end
|
286
286
|
end
|