pod-builder 3.1.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pod_builder/podfile_item.rb +44 -27
- data/lib/pod_builder/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '09cbb24dc2fb49946058f0459990c762afd54e93dfe280289203348162272611'
|
4
|
+
data.tar.gz: 87fc03146c5a8a7fbe2adcc895e8a45c8b24b517b00c557236245902df543267
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 221ccda81fbd9b41d4439ebaa6a8ea3776e4c1d91ea3b24d268fa54203e67e757160ad0e42595527e0e610845ec1faf546aa9d480463f808aae28c94df4710e4
|
7
|
+
data.tar.gz: ef65cce139a54a6ae93e5262e480a3608e9b268a51cf413da58e314d29568c6981f5b198dc1061d93d102ec112935dc890d7e5b009fabd0cc4cc88cce52e9650
|
@@ -138,6 +138,10 @@ module PodBuilder
|
|
138
138
|
# @return [Bool] Should build as xcframework
|
139
139
|
#
|
140
140
|
attr_accessor :build_xcframework
|
141
|
+
|
142
|
+
# @return [Bool] True if it's a pod that doesn't provide source code (is already shipped as a prebuilt pod)
|
143
|
+
#
|
144
|
+
attr_accessor :is_prebuilt
|
141
145
|
|
142
146
|
# Initialize a new instance
|
143
147
|
#
|
@@ -246,6 +250,8 @@ module PodBuilder
|
|
246
250
|
build_as_xcframework = Configuration.build_xcframeworks_include.include?(@root_name)
|
247
251
|
end
|
248
252
|
@build_xcframework = build_as_xcframework
|
253
|
+
|
254
|
+
@is_prebuilt = extract_is_prebuilt(spec, all_specs, checkout_options, supported_platforms)
|
249
255
|
end
|
250
256
|
|
251
257
|
def pod_specification(all_poditems, parent_spec = nil)
|
@@ -335,33 +341,6 @@ module PodBuilder
|
|
335
341
|
return deps
|
336
342
|
end
|
337
343
|
|
338
|
-
# @return [Bool] True if it's a pod that doesn't provide source code (is already shipped as a prebuilt pod)
|
339
|
-
#
|
340
|
-
def is_prebuilt
|
341
|
-
if Configuration.force_prebuild_pods.include?(@root_name) || Configuration.force_prebuild_pods.include?(@name)
|
342
|
-
return false
|
343
|
-
end
|
344
|
-
|
345
|
-
# We treat pods to skip like prebuilt ones
|
346
|
-
if Configuration.skip_pods.include?(@root_name) || Configuration.skip_pods.include?(@name)
|
347
|
-
return true
|
348
|
-
end
|
349
|
-
|
350
|
-
# Podspecs aren't always properly written (source_file key is often used instead of header_files)
|
351
|
-
# Therefore it can become tricky to understand which pods are already precompiled by boxing a .framework or .a
|
352
|
-
embedded_as_vendored = vendored_frameworks.map { |x| File.basename(x) }.include?("#{module_name}.framework")
|
353
|
-
embedded_as_static_lib = vendored_libraries.map { |x| File.basename(x) }.include?("lib#{module_name}.a")
|
354
|
-
|
355
|
-
only_headers = (source_files.count > 0 && @source_files.all? { |x| x.end_with?(".h") })
|
356
|
-
no_sources = (@source_files.count == 0 || only_headers) && (@vendored_frameworks + @vendored_libraries).count > 0
|
357
|
-
|
358
|
-
if !no_sources && !only_headers
|
359
|
-
return false
|
360
|
-
else
|
361
|
-
return (no_sources || only_headers || embedded_as_static_lib || embedded_as_vendored)
|
362
|
-
end
|
363
|
-
end
|
364
|
-
|
365
344
|
# @return [Bool] True if it's a subspec
|
366
345
|
#
|
367
346
|
def is_subspec
|
@@ -472,6 +451,44 @@ module PodBuilder
|
|
472
451
|
|
473
452
|
private
|
474
453
|
|
454
|
+
# @return [Bool] True if it's a pod that doesn't provide source code (is already shipped as a prebuilt pod)
|
455
|
+
#
|
456
|
+
def extract_is_prebuilt(spec, all_specs, checkout_options, supported_platforms)
|
457
|
+
if Configuration.force_prebuild_pods.include?(@root_name) || Configuration.force_prebuild_pods.include?(@name)
|
458
|
+
return false
|
459
|
+
end
|
460
|
+
|
461
|
+
# We treat pods to skip like prebuilt ones
|
462
|
+
if Configuration.skip_pods.include?(@root_name) || Configuration.skip_pods.include?(@name)
|
463
|
+
return true
|
464
|
+
end
|
465
|
+
|
466
|
+
if default_subspecs != nil && default_subspecs.count > 0
|
467
|
+
default_subspecs.each do |default_subspec_name|
|
468
|
+
if (default_spec = all_specs.detect { |t| t.name == "#{root_name}/#{default_subspec_name}" })
|
469
|
+
default_item = PodfileItem.new(default_spec, all_specs, checkout_options, supported_platforms)
|
470
|
+
if default_item.is_prebuilt
|
471
|
+
return true
|
472
|
+
end
|
473
|
+
end
|
474
|
+
end
|
475
|
+
end
|
476
|
+
|
477
|
+
# Podspecs aren't always properly written (source_file key is often used instead of header_files)
|
478
|
+
# Therefore it can become tricky to understand which pods are already precompiled by boxing a .framework or .a
|
479
|
+
embedded_as_vendored = vendored_frameworks.map { |x| File.basename(x) }.include?("#{module_name}.framework")
|
480
|
+
embedded_as_static_lib = vendored_libraries.map { |x| File.basename(x) }.include?("lib#{module_name}.a")
|
481
|
+
|
482
|
+
only_headers = (source_files.count > 0 && @source_files.all? { |x| x.end_with?(".h") })
|
483
|
+
no_sources = (@source_files.count == 0 || only_headers) && (@vendored_frameworks + @vendored_libraries).count > 0
|
484
|
+
|
485
|
+
if !no_sources && !only_headers
|
486
|
+
return false
|
487
|
+
else
|
488
|
+
return (no_sources || only_headers || embedded_as_static_lib || embedded_as_vendored)
|
489
|
+
end
|
490
|
+
end
|
491
|
+
|
475
492
|
def extract_vendored_frameworks(spec, all_specs)
|
476
493
|
items = []
|
477
494
|
|
data/lib/pod_builder/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pod-builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomas Camin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05-
|
11
|
+
date: 2021-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|