cocoapods-jsource 0.0.5 → 0.0.6
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/.gemrc +0 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +20 -13
- data/lib/cocoapods-jsource/command/jsource/add.rb +60 -17
- data/lib/cocoapods-jsource/command/xcode_manager.rb +2 -2
- data/lib/cocoapods-jsource/gem_version.rb +1 -1
- data/test.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6eeecb30b063be7b98e13e67bcaf2dcf8afe6216c2e2c8cb9ac340a227b9d40f
|
4
|
+
data.tar.gz: 7f4ca79756176dab296fc9e784b256effc33e77385cd6e60e9a62107fb745679
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 851fc0bae0bd7723e1937d6a64697d1307e84f58399366353f2d74a0f33a753115898c3660ea3c84a48df9b700f8ab06d6a35c3a0281093261e81de433c7b332
|
7
|
+
data.tar.gz: 666b0d9de3eadad5f431c0990a543a931ac690c159f6b0f5f66d5ea03841fe8f00e11ee8f315958b334745c23cc6bf370d321877231755b4be9c89ade6afb1e1
|
data/.gemrc
ADDED
File without changes
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cocoapods-jsource (0.0.
|
4
|
+
cocoapods-jsource (0.0.6)
|
5
5
|
cocoapods
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://gems.ruby-china.com/
|
9
9
|
specs:
|
10
|
-
CFPropertyList (3.0.
|
10
|
+
CFPropertyList (3.0.2)
|
11
11
|
activesupport (4.2.11.1)
|
12
12
|
i18n (~> 0.7)
|
13
13
|
minitest (~> 5.1)
|
@@ -19,10 +19,10 @@ GEM
|
|
19
19
|
atomos (0.1.3)
|
20
20
|
bacon (1.2.0)
|
21
21
|
claide (1.0.3)
|
22
|
-
cocoapods (1.
|
22
|
+
cocoapods (1.9.1)
|
23
23
|
activesupport (>= 4.0.2, < 5)
|
24
24
|
claide (>= 1.0.2, < 2.0)
|
25
|
-
cocoapods-core (= 1.
|
25
|
+
cocoapods-core (= 1.9.1)
|
26
26
|
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
27
27
|
cocoapods-downloader (>= 1.2.2, < 2.0)
|
28
28
|
cocoapods-plugins (>= 1.0.0, < 2.0)
|
@@ -37,13 +37,15 @@ GEM
|
|
37
37
|
molinillo (~> 0.6.6)
|
38
38
|
nap (~> 1.0)
|
39
39
|
ruby-macho (~> 1.4)
|
40
|
-
xcodeproj (>= 1.
|
41
|
-
cocoapods-core (1.
|
40
|
+
xcodeproj (>= 1.14.0, < 2.0)
|
41
|
+
cocoapods-core (1.9.1)
|
42
42
|
activesupport (>= 4.0.2, < 6)
|
43
43
|
algoliasearch (~> 1.0)
|
44
44
|
concurrent-ruby (~> 1.1)
|
45
45
|
fuzzy_match (~> 2.0.4)
|
46
46
|
nap (~> 1.0)
|
47
|
+
netrc (~> 0.11)
|
48
|
+
typhoeus (~> 1.0)
|
47
49
|
cocoapods-deintegrate (1.0.4)
|
48
50
|
cocoapods-downloader (1.3.0)
|
49
51
|
cocoapods-plugins (1.0.0)
|
@@ -55,17 +57,20 @@ GEM
|
|
55
57
|
netrc (~> 0.11)
|
56
58
|
cocoapods-try (1.1.0)
|
57
59
|
colored2 (3.1.2)
|
58
|
-
concurrent-ruby (1.1.
|
60
|
+
concurrent-ruby (1.1.6)
|
59
61
|
escape (0.0.4)
|
62
|
+
ethon (0.12.0)
|
63
|
+
ffi (>= 1.3.0)
|
64
|
+
ffi (1.12.2)
|
60
65
|
fourflusher (2.3.1)
|
61
66
|
fuzzy_match (2.0.4)
|
62
67
|
gh_inspector (1.1.3)
|
63
68
|
httpclient (2.8.3)
|
64
69
|
i18n (0.9.5)
|
65
70
|
concurrent-ruby (~> 1.0)
|
66
|
-
json (2.
|
67
|
-
minitest (5.
|
68
|
-
mocha (1.
|
71
|
+
json (2.3.0)
|
72
|
+
minitest (5.14.0)
|
73
|
+
mocha (1.11.2)
|
69
74
|
mocha-on-bacon (0.2.3)
|
70
75
|
mocha (>= 0.13.0)
|
71
76
|
molinillo (0.6.6)
|
@@ -77,9 +82,11 @@ GEM
|
|
77
82
|
rake (13.0.1)
|
78
83
|
ruby-macho (1.4.0)
|
79
84
|
thread_safe (0.3.6)
|
80
|
-
|
85
|
+
typhoeus (1.3.1)
|
86
|
+
ethon (>= 0.9.0)
|
87
|
+
tzinfo (1.2.7)
|
81
88
|
thread_safe (~> 0.1)
|
82
|
-
xcodeproj (1.
|
89
|
+
xcodeproj (1.16.0)
|
83
90
|
CFPropertyList (>= 2.3.3, < 4.0)
|
84
91
|
atomos (~> 0.1.3)
|
85
92
|
claide (>= 1.0.2, < 2.0)
|
@@ -100,4 +107,4 @@ DEPENDENCIES
|
|
100
107
|
rake
|
101
108
|
|
102
109
|
BUNDLED WITH
|
103
|
-
1.
|
110
|
+
1.17.2
|
@@ -77,7 +77,12 @@ module Pod
|
|
77
77
|
|
78
78
|
def download_component_to_path(component_name, version, source_path_hash={})
|
79
79
|
source_path_hash.each do |binary_name, source_path|
|
80
|
-
|
80
|
+
if source_path.include?("Pods")
|
81
|
+
sandbox_path = source_path.split("Pods")[0] + "Pods"
|
82
|
+
else
|
83
|
+
sandbox_path = source_path.gsub(/\/#{component_name}$/,"")
|
84
|
+
end
|
85
|
+
|
81
86
|
sandbox_component_path = "#{sandbox_path}/#{component_name}"
|
82
87
|
binary_path = "#{sandbox_path}/#{binary_name}"
|
83
88
|
if File.exist? sandbox_component_path
|
@@ -87,6 +92,7 @@ module Pod
|
|
87
92
|
else
|
88
93
|
UI.puts "downloading #{binary_name} #{version}"
|
89
94
|
UI.puts "\t #{source_path.to_s}"
|
95
|
+
create_working_directory(sandbox_path)
|
90
96
|
FileUtils.mkdir_p [binary_path] unless File.exist? binary_path
|
91
97
|
sandbox = Sandbox.new(sandbox_path)
|
92
98
|
spec = spec_with_name(component_name, version)
|
@@ -96,6 +102,12 @@ module Pod
|
|
96
102
|
#installer.clean!
|
97
103
|
# TODO validtarget
|
98
104
|
# 改名
|
105
|
+
# 去掉framework
|
106
|
+
framework_path = "#{binary_path}/#{component_name}/Framework"
|
107
|
+
if File.directory?(framework_path)
|
108
|
+
UI.puts "正在清理无用资源:#{framework_path}"
|
109
|
+
`rm -rf #{framework_path}`
|
110
|
+
end
|
99
111
|
if binary_name != component_name and File.exist? sandbox_component_path
|
100
112
|
FileUtils.copy_entry(sandbox_component_path, binary_path) unless File.exist? binary_name
|
101
113
|
end
|
@@ -147,12 +159,22 @@ module Pod
|
|
147
159
|
#file_list = get_file_list path
|
148
160
|
source_paths_hash.each do |binary_name, source_path_list|
|
149
161
|
if source_path_list.length > 0
|
150
|
-
|
162
|
+
if source_path_list[0].include?("Pods")
|
163
|
+
dest_file_path = source_path_list[0].split("Pods")[0] + "Pods/#{binary_name}"
|
164
|
+
else
|
165
|
+
dest_file_path = file_path(source_path_list[0], component_name)
|
166
|
+
end
|
151
167
|
UI.puts "copying #{binary_name} to #{dest_file_path}"
|
152
168
|
end
|
153
169
|
source_path_list.each do |dest_file_path|
|
154
|
-
|
155
|
-
|
170
|
+
if dest_file_path.include?("/Pods/")
|
171
|
+
origin_file = dest_file_path.split("Pods/#{binary_name}")[-1]
|
172
|
+
origin_file_path = path + origin_file
|
173
|
+
else
|
174
|
+
tmp_path = file_path dest_file_path, component_name
|
175
|
+
origin_file = dest_file_path.gsub(tmp_path, "")
|
176
|
+
origin_file_path = path + "/#{origin_file}"
|
177
|
+
end
|
156
178
|
if !File.exist? origin_file_path
|
157
179
|
UI.warn "本地不存在#{origin_file_path}, 可能使用了虚拟subspec或者本地源码缓存有问题。推荐加上 --remote 参数"
|
158
180
|
exit 1
|
@@ -177,6 +199,21 @@ module Pod
|
|
177
199
|
|
178
200
|
end
|
179
201
|
|
202
|
+
def file_path(source_path, component_name)
|
203
|
+
tmp_list = source_path.split("#{component_name}/")
|
204
|
+
# if tmp_list.length == 4 and tmp_list[1] != "/"
|
205
|
+
# path = "#{tmp_list[0]}#{binary_name}#{tmp_list[1]}#{binary_name}"
|
206
|
+
# end
|
207
|
+
# if tmp_list.length == 5 and tmp_list[2] == "_binary/"
|
208
|
+
# path = source_paths[0].split(binary_name)[0] + "#{binary_name}/#{binary_name}"
|
209
|
+
# end
|
210
|
+
if tmp_list.length < 3
|
211
|
+
UI.puts "旧版本的不支持,请重新打二级制"
|
212
|
+
exit 1
|
213
|
+
end
|
214
|
+
path = source_path.gsub("#{component_name}/#{tmp_list[-1]}", "")
|
215
|
+
path
|
216
|
+
end
|
180
217
|
|
181
218
|
def component_cache(component_name)
|
182
219
|
if @cache_dict.has_key? component_name
|
@@ -206,10 +243,10 @@ module Pod
|
|
206
243
|
end
|
207
244
|
|
208
245
|
|
209
|
-
def unite_source_paths_hash(source_paths_hash)
|
246
|
+
def unite_source_paths_hash(source_paths_hash, component_name)
|
210
247
|
source_path_hash = {}
|
211
248
|
source_paths_hash.each do |binary_name, source_paths|
|
212
|
-
source_path_hash[binary_name] = source_paths[0]
|
249
|
+
source_path_hash[binary_name] = file_path(source_paths[0], component_name)
|
213
250
|
end
|
214
251
|
source_path_hash
|
215
252
|
end
|
@@ -237,7 +274,7 @@ module Pod
|
|
237
274
|
next
|
238
275
|
end
|
239
276
|
source_paths_hash = local_source_paths component_name, subspecs, source_paths_hash
|
240
|
-
source_path_hash = unite_source_paths_hash source_paths_hash
|
277
|
+
source_path_hash = unite_source_paths_hash source_paths_hash, component_name
|
241
278
|
if @remote
|
242
279
|
# 需要把值合并。
|
243
280
|
download_component_to_path component_name, version, source_path_hash
|
@@ -316,10 +353,10 @@ module Pod
|
|
316
353
|
at_name_list = []
|
317
354
|
if binary_name.to_s.end_with? libbinary_file_name
|
318
355
|
# .a 文件
|
319
|
-
at_name_list = `dwarfdump -arch x86_64 #{binary_path} | grep '
|
356
|
+
at_name_list = `dwarfdump -arch x86_64 #{binary_path} | grep 'DW_AT_decl_file'`.strip.split("\n").sort
|
320
357
|
else
|
321
358
|
# framework 文件
|
322
|
-
at_name_list = `dwarfdump -arch x86_64 #{binary_path} | grep '
|
359
|
+
at_name_list = `dwarfdump -arch x86_64 #{binary_path} | grep 'DW_AT_decl_file'`.strip.split("\n").sort
|
323
360
|
end
|
324
361
|
#if source_file.length == 0
|
325
362
|
# UI.puts "在#{binary_path} 里没有找到合适的调试信息~"
|
@@ -327,16 +364,18 @@ module Pod
|
|
327
364
|
#end
|
328
365
|
source_list = []
|
329
366
|
at_name_list.each do |tmp_source_path|
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
367
|
+
source_path = tmp_source_path.strip.split("(\"")[-1].split("\")")[0]
|
368
|
+
next if source_path.to_s.start_with?("/Applications/Xcode.app/Contents/Developer/Platforms/")
|
369
|
+
source_path = tmp_source_path.strip.split("(\"")[-1].split("\")")[0]
|
370
|
+
next unless source_path.to_s.include?("/../../")
|
371
|
+
source_path = File.expand_path(source_path)
|
372
|
+
source_list << source_path if source_path.to_s.length > 0 and not source_list.include?(source_path)
|
334
373
|
end
|
335
374
|
if source_list.length == 0
|
336
375
|
UI.puts "#{component_name} 没有找到调试信息, 可能是早期打的组件。建议这个组件重新生成。"
|
337
376
|
exit 1
|
338
377
|
else
|
339
|
-
source_path_hash[binary_name] = source_list
|
378
|
+
source_path_hash[binary_name] = source_list.sort
|
340
379
|
end
|
341
380
|
end
|
342
381
|
source_path_hash
|
@@ -345,9 +384,13 @@ module Pod
|
|
345
384
|
|
346
385
|
# 创建源码的存放的目录,可能需要root权限
|
347
386
|
def create_working_directory(source_path)
|
348
|
-
parent =
|
349
|
-
|
350
|
-
|
387
|
+
# parent = File.dirname(source_path)
|
388
|
+
if not source_path.include? "/binary/"
|
389
|
+
UI.puts "旧版本的二进制不在支持,请通过keones重新打包"
|
390
|
+
exit 1
|
391
|
+
end
|
392
|
+
parent = source_path.split("/binary/")[0] + "/binary/"
|
393
|
+
return unless parent.length > 0
|
351
394
|
return if Dir.exist? parent
|
352
395
|
UI.puts "检测到没有源码目录,即将创建#{parent}目录"
|
353
396
|
`sudo -S mkdir -p #{parent}`
|
@@ -100,7 +100,7 @@ module Pod
|
|
100
100
|
|
101
101
|
def avaliable_dirs(file_path, dest_file_path)
|
102
102
|
dir_list = []
|
103
|
-
if file_path.to_s == dest_file_path.to_s
|
103
|
+
if "#{file_path.to_s}/" == dest_file_path.to_s
|
104
104
|
return dir_list
|
105
105
|
else
|
106
106
|
parent_dir = File.dirname file_path
|
@@ -117,7 +117,7 @@ module Pod
|
|
117
117
|
if subspec
|
118
118
|
spec.subspecs.each do |subspec_spec|
|
119
119
|
next unless subspec_spec.name == "#{component_name}/#{subspec}"
|
120
|
-
source_files = "#{group.real_path}
|
120
|
+
source_files = "#{group.real_path}#{subspec_spec.attributes_hash["source_files"]}"
|
121
121
|
tmp_files = Dir.glob (source_files)
|
122
122
|
# 找到所有的文件夹
|
123
123
|
tmp_files.each do |file_path|
|
data/test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'xcodeproj'
|
2
2
|
require 'cocoapods'
|
3
3
|
|
4
|
-
`cd /Users/handa/Documents/lianjia/B/
|
4
|
+
`cd /Users/handa/Documents/lianjia/B/Lianjia_Alliance_Shell_Project;pod jsource add Lianjia_Alliance_User`
|
5
5
|
|
6
6
|
#`cd /Users/handa/Downloads/Example;pod jsource clean LJRefresh --cache`
|
7
7
|
#`cd /Users/handa/Documents/lianjia/C/lianjia_ios_platc;pod jsource add LJBaseToolKit`
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-jsource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- handa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocoapods
|
@@ -59,6 +59,7 @@ executables: []
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
+
- ".gemrc"
|
62
63
|
- ".gitignore"
|
63
64
|
- Gemfile
|
64
65
|
- Gemfile.lock
|
@@ -98,8 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
99
|
- !ruby/object:Gem::Version
|
99
100
|
version: '0'
|
100
101
|
requirements: []
|
101
|
-
|
102
|
-
rubygems_version: 2.7.7
|
102
|
+
rubygems_version: 3.0.3
|
103
103
|
signing_key:
|
104
104
|
specification_version: 4
|
105
105
|
summary: Add source code debugging capabilities to binary.
|