pod-builder 5.1.1 → 5.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|