cocoapods-binary-matchup 0.0.14 → 0.0.15
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.lock +1 -1
- data/README.md +15 -4
- data/lib/cocoapods-binary-matchup/Integration.rb +1 -0
- data/lib/cocoapods-binary-matchup/Main.rb +1 -0
- data/lib/cocoapods-binary-matchup/Prebuild.rb +3 -0
- data/lib/cocoapods-binary-matchup/gem_version.rb +1 -1
- data/lib/cocoapods-binary-matchup/rome/build_framework.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fece0a9ebc431cab6345ee1f7e5ed505ac49b5326248b3240d98e5620bd2ff1a
|
4
|
+
data.tar.gz: 01aba47a154241f25fc9fb9160b9dfc671b4629976abc1f8062c9f3b962026c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e735c25acc5e4eea62085c276e1fa9d47cb37ee1316ccf0a9333c420134e39c03c88315839278d8e859fbdec7dac481201c93138df5accfe415de4aab08436cd
|
7
|
+
data.tar.gz: 9f69eb604b8bd504ae381888754e7e78d4b9bb5e1beda1780cd9136c57ac11ee78d3d654d19c20a69049f110d02e67d9edefdc9845c748db0bd920a01862d1ad
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -30,12 +30,12 @@ Then in the flowing normal install process, we hook the integration functions to
|
|
30
30
|
|
31
31
|
## Installation
|
32
32
|
|
33
|
-
$ gem install cocoapods-binary
|
33
|
+
$ gem install cocoapods-binary-matchup
|
34
34
|
|
35
35
|
## Usage
|
36
36
|
|
37
37
|
``` ruby
|
38
|
-
plugin 'cocoapods-binary'
|
38
|
+
plugin 'cocoapods-binary-matchup'
|
39
39
|
|
40
40
|
use_frameworks!
|
41
41
|
# all_binary!
|
@@ -45,7 +45,7 @@ target "HP" do
|
|
45
45
|
end
|
46
46
|
```
|
47
47
|
|
48
|
-
- Add `plugin 'cocoapods-binary'` in the head of Podfile
|
48
|
+
- Add `plugin 'cocoapods-binary-matchup'` in the head of Podfile
|
49
49
|
- Add `:binary => true` as a option of one specific pod, or add `all_binary!` before all targets, which makes all pods binaries.
|
50
50
|
- pod install, and that's all
|
51
51
|
|
@@ -59,11 +59,22 @@ If your `Pods` folder is excluded from git, you may add `keep_source_code_for_pr
|
|
59
59
|
|
60
60
|
If bitcode is needed, add a `enable_bitcode_for_prebuilt_frameworks!` before all targets in Podfile
|
61
61
|
|
62
|
+
if forbidden simulator, add a `simulator_build_disable!` before all targets in Podfile
|
63
|
+
|
64
|
+
if custom main deployment target, add a `min_deployment_target(version)` before all targets in Podfile; e.g: `min_deployment_target(14.0)`
|
65
|
+
|
66
|
+
if custom build configuration is needed, add a `set_custom_xcodebuild_options_for_prebuilt_frameworks` before all targets in Podfile; e.g:
|
67
|
+
set_custom_xcodebuild_options_for_prebuilt_frameworks({
|
68
|
+
:device => "ARCHS=arm64",
|
69
|
+
:simulator => "ARCHS=x86_64",
|
70
|
+
:DEBUG_INFORMATION_FORMAT => "dwarf"
|
71
|
+
})
|
72
|
+
|
62
73
|
|
63
74
|
#### Known Issues
|
64
75
|
|
65
76
|
- doesn't support watchos now
|
66
|
-
- dSYM files is missing for dynamic frameworks using this plugin. Walkaround: Don't use this plugin for a release build. Add a if condition with ENV around `plugin 'cocoapods-binary'`
|
77
|
+
- dSYM files is missing for dynamic frameworks using this plugin. Walkaround: Don't use this plugin for a release build. Add a if condition with ENV around `plugin 'cocoapods-binary-matchup'`
|
67
78
|
|
68
79
|
## License
|
69
80
|
|
@@ -132,6 +132,7 @@ module Pod
|
|
132
132
|
root_name = spec.root.name
|
133
133
|
|
134
134
|
target = name_to_target_hash[root_name]
|
135
|
+
# 如果是非源码编译成的pod(如本身是动态库和静态库依赖),则跳过集成,使用pod本身的配置
|
135
136
|
next if Prebuild::Passer.target_names_to_skip_integration_framework.include? target.pod_name
|
136
137
|
|
137
138
|
# use the prebuilt framework
|
@@ -177,6 +177,7 @@ Pod::HooksManager.register('cocoapods-binary-matchup', :pre_install) do |install
|
|
177
177
|
# install
|
178
178
|
Pod::UI.puts "\n"
|
179
179
|
Pod::UI.puts "🤖 Pod Install"
|
180
|
+
# 只有进入正常阶段才会执行Integration中的相关hook行为
|
180
181
|
require_relative 'Integration'
|
181
182
|
# go on the normal install step ...
|
182
183
|
end
|
@@ -127,6 +127,8 @@ module Pod
|
|
127
127
|
Pod::UI.puts "Prebuild frameworks (total #{targets.count})"
|
128
128
|
Pod::Prebuild.remove_build_dir(sandbox_path)
|
129
129
|
targets.each do |target|
|
130
|
+
# If target shouldn't build, we copy all the original files
|
131
|
+
# This is for target with only .a and .h files
|
130
132
|
if !target.should_build?
|
131
133
|
UI.puts "Prebuilding #{target.label}"
|
132
134
|
next
|
@@ -187,6 +189,7 @@ module Pod
|
|
187
189
|
next
|
188
190
|
end
|
189
191
|
|
192
|
+
# copy the vendored frameworks and libraries in _Prebuild to Pods/
|
190
193
|
target.spec_consumers.each do |consumer|
|
191
194
|
file_accessor = Sandbox::FileAccessor.new(root_path, consumer)
|
192
195
|
lib_paths = file_accessor.vendored_frameworks || []
|
@@ -30,12 +30,12 @@ def build_for_iosish_platform(sandbox,
|
|
30
30
|
other_options = []
|
31
31
|
# bitcode enabled
|
32
32
|
other_options += ['BITCODE_GENERATION_MODE=bitcode'] if bitcode_enabled
|
33
|
-
# make less arch to iphone simulator for faster build
|
34
|
-
custom_build_options_simulator += ['ARCHS=x86_64', 'ONLY_ACTIVE_ARCH=NO'] if simulator == 'iphonesimulator'
|
35
33
|
|
36
34
|
is_succeed, _ = xcodebuild(sandbox, target_label, device, deployment_target, other_options + custom_build_options)
|
37
35
|
exit 1 unless is_succeed
|
38
36
|
if Pod::Podfile::DSL.simulator_build_enabled
|
37
|
+
# make less arch to iphone simulator for faster build
|
38
|
+
custom_build_options_simulator += ['ARCHS=x86_64', 'ONLY_ACTIVE_ARCH=NO'] if simulator == 'iphonesimulator'
|
39
39
|
is_succeed, _ = xcodebuild(sandbox, target_label, simulator, deployment_target, other_options + custom_build_options_simulator)
|
40
40
|
exit 1 unless is_succeed
|
41
41
|
end
|