podfileDep 2.4.1 → 2.4.3
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/CHANGELOG.md +6 -0
- data/lib/podfileDep/check/project.rb +52 -20
- data/lib/podfileDep/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: 878b46bd1a19d4bdefd0a6060fe42b6d927b9649ff430a220027f1e3cf532d97
|
4
|
+
data.tar.gz: 2253957d4fa07c0e293adb5e8b36d0432358360848ff2986a50823d8674a60ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d32c5d1b75841af22791bf840ddbd923d347bb18f35ce86dccd8d95d896e07256733b3f727371fdbb67c8db308b6d0516c44619bf344ad8fa1378738c8eb614c
|
7
|
+
data.tar.gz: 5b46900f0ce8b15dac042a149a6fe28160a0ada51a5ad8683a17682c53bafd71b99fe06481dfcf2aab449007651f00dfcb8637dc0e200d69da447433eb92444f
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'pathname'
|
2
2
|
require 'colored2'
|
3
|
+
require 'cocoapods/downloader/request'
|
3
4
|
require_relative 'util'
|
4
5
|
require_relative 'item'
|
5
6
|
|
@@ -21,13 +22,18 @@ module Xcodeproj
|
|
21
22
|
# @return [Hash]
|
22
23
|
attr_accessor :lock_content
|
23
24
|
|
25
|
+
# @return [Hash]
|
26
|
+
attr_accessor :version_map
|
27
|
+
|
24
28
|
def initialize
|
25
29
|
@shell_project = nil
|
26
30
|
@pod_project = nil
|
27
31
|
@module_items = {}
|
32
|
+
@version_map = {}
|
28
33
|
init_shell_project
|
29
34
|
init_pod_project
|
30
35
|
init_lockfile
|
36
|
+
init_version_map
|
31
37
|
expand_module
|
32
38
|
init_vendor_frameworks
|
33
39
|
end
|
@@ -68,6 +74,21 @@ module Xcodeproj
|
|
68
74
|
|
69
75
|
@lock_content = YAML.load_file(lockfile_path)
|
70
76
|
end
|
77
|
+
def init_version_map
|
78
|
+
lock_content = @lock_content
|
79
|
+
|
80
|
+
remote_dependencies = lock_content["PODS"]
|
81
|
+
remote_dependencies.each do |dependency|
|
82
|
+
if dependency.class == Hash
|
83
|
+
dependency = dependency.keys.first
|
84
|
+
end
|
85
|
+
temp = dependency.split("(")
|
86
|
+
name = temp[0].split("/")[0] # UMCShare/Social/ReducedWeChat
|
87
|
+
name = name.gsub(" ", "").gsub(")", "")
|
88
|
+
version = temp[1].gsub("= ", "").gsub(")", "")
|
89
|
+
@version_map[name] = version
|
90
|
+
end
|
91
|
+
end
|
71
92
|
|
72
93
|
# 展开模块
|
73
94
|
def expand_module
|
@@ -153,34 +174,39 @@ module Xcodeproj
|
|
153
174
|
|
154
175
|
# 读取某个模块的podspec路径
|
155
176
|
def get_podspec_path(module_name)
|
156
|
-
|
177
|
+
check_options = lock_content["CHECKOUT OPTIONS"]
|
178
|
+
if check_options and check_options[module_name]
|
179
|
+
check_option = check_options[module_name]
|
180
|
+
request = Pod::Downloader::Request.new(released:false, name:module_name, params:check_option)
|
181
|
+
slug_opts = {}
|
182
|
+
cache_path = request.slug(**slug_opts)
|
183
|
+
return "~/Library/Caches/CocoaPods/Pods/Specs/#{cache_path}.podspec.json"
|
184
|
+
end
|
185
|
+
|
186
|
+
# :path: localPods/XX
|
157
187
|
local_spec = lock_content["EXTERNAL SOURCES"]
|
158
188
|
if local_spec and local_spec[module_name]
|
159
189
|
path = local_spec[module_name][:path]
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
remote_dependencies = lock_content["DEPENDENCIES"]
|
164
|
-
version_map = {}
|
165
|
-
remote_dependencies.each do |dependency|
|
166
|
-
temp = dependency.split("(")
|
167
|
-
name = temp[0].split("/")[0] # UMCShare/Social/ReducedWeChat
|
168
|
-
name = name.gsub(" ", "").gsub(")", "")
|
169
|
-
version = temp[1].gsub("= ", "").gsub(")", "")
|
170
|
-
version_map[name] = version
|
190
|
+
if path
|
191
|
+
return Pathname(path).expand_path
|
192
|
+
end
|
171
193
|
end
|
172
|
-
version = version_map[module_name]
|
173
194
|
|
174
|
-
|
195
|
+
# 4.0.1-24ee2.podspec.json
|
196
|
+
version_spec = @lock_content["SPEC CHECKSUMS"]
|
175
197
|
md5_to5 = ""
|
176
|
-
if
|
177
|
-
md5 =
|
198
|
+
if version_spec and version_spec[module_name]
|
199
|
+
md5 = version_spec[module_name]
|
178
200
|
md5_to5 = md5.slice(0,5)
|
179
201
|
end
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
202
|
+
version = @version_map[module_name]
|
203
|
+
if version
|
204
|
+
podspec_json_name = "#{version}-#{md5_to5}.podspec.json"
|
205
|
+
path = "~/Library/Caches/CocoaPods/Pods/Specs/Release/#{module_name}/#{podspec_json_name}"
|
206
|
+
return Pathname(path).expand_path
|
207
|
+
end
|
208
|
+
|
209
|
+
nil
|
184
210
|
end
|
185
211
|
|
186
212
|
|
@@ -188,6 +214,12 @@ module Xcodeproj
|
|
188
214
|
def init_vendor_frameworks
|
189
215
|
@module_items.each_value do |module_item|
|
190
216
|
module_item.frameworks << module_item.module_name
|
217
|
+
|
218
|
+
unless module_item.podspec_path
|
219
|
+
puts "⚠️ 读取#{module_item.module_name}的podspec路径为空,请发送Podfile.lock文件联系开发者修复"
|
220
|
+
next
|
221
|
+
end
|
222
|
+
|
191
223
|
podspec_content = Util.get_podspec_content(module_item.podspec_path)
|
192
224
|
|
193
225
|
unless podspec_content
|
data/lib/podfileDep/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: podfileDep
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 王帅朋
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-07-
|
11
|
+
date: 2023-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocoapods
|