cocoapods-tdf-bin 0.0.1.1 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cocoapods-tdf-bin/command/bin/auto.rb +1 -0
- data/lib/cocoapods-tdf-bin/config/config.rb +4 -4
- data/lib/cocoapods-tdf-bin/gem_version.rb +1 -1
- data/lib/cocoapods-tdf-bin/helpers/framework_builder.rb +22 -2
- data/lib/cocoapods-tdf-bin/helpers/spec_creator.rb +1 -3
- data/lib/cocoapods-tdf-bin/helpers/spec_source_creator.rb +18 -2
- data/lib/cocoapods-tdf-bin/native/resolver.rb +27 -11
- 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: 86a91d0128afbce92cb49c569930af615972ff11440d4272345e0a077a6a1fa1
|
4
|
+
data.tar.gz: 01c470b5ac5dc999e4a3abcbd8cb39f355780358f4a738de7e053156a0d26b3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d450a0cd70705f4a4603bf64e40313c3c2ca1015aa9dc39fa24d2c1e069f594812cfdb48a9c228cc0605e126c00264a578171f33afb075ccb068fae1517d7c0
|
7
|
+
data.tar.gz: 40eb0a9bb0963bf0b1009d00f82c30c68104542d8a55a739e626a7da2fb42b441af52485e30f5b4ba727780cab78ff7cb7dd17b17bcaed519af14adcba58263b
|
@@ -12,10 +12,10 @@ module CBin
|
|
12
12
|
def template_hash
|
13
13
|
{
|
14
14
|
'configuration_env' => { description: '编译环境', default: 'dev', selection: %w[dev debug_iphoneos release_iphoneos] },
|
15
|
-
'code_repo_url' => { description: '源码私有源 Git 地址', default: 'git@
|
16
|
-
'binary_repo_url' => { description: '二进制私有源 Git 地址', default: 'git@
|
17
|
-
'binary_download_url' => { description: '二进制下载地址,内部会依次传入组件名称与版本,替换字符串中的 %s ', default: 'http://
|
18
|
-
'binary_upload_url' => { description: '二进制下载地址,内部会依次传入组件名称与版本,替换字符串中的 %s ', default: 'http://
|
15
|
+
'code_repo_url' => { description: '源码私有源 Git 地址', default: 'git@git.2dfire.net:ios/cocoapods-spec.git' },
|
16
|
+
'binary_repo_url' => { description: '二进制私有源 Git 地址', default: 'git@git.2dfire.net:ios/cocoapods-spec-binary.git' },
|
17
|
+
'binary_download_url' => { description: '二进制下载地址,内部会依次传入组件名称与版本,替换字符串中的 %s ', default: 'http://iosframeworkserver-shopkeeperclient.app.2dfire.com/download/%s/%s.zip' },
|
18
|
+
'binary_upload_url' => { description: '二进制下载地址,内部会依次传入组件名称与版本,替换字符串中的 %s ', default: 'http://iosframeworkserver-shopkeeperclient.app.2dfire.com/upload/%s/%s.zip' },
|
19
19
|
# 'binary_type' => { description: '二进制打包类型', default: 'framework', selection: %w[framework library] },
|
20
20
|
'download_file_type' => { description: '下载二进制文件类型', default: 'zip', selection: %w[zip tgz tar tbz txz dmg] }
|
21
21
|
}
|
@@ -258,8 +258,17 @@ module CBin
|
|
258
258
|
resources.each do |source|
|
259
259
|
escape_resource << Shellwords.join(source)
|
260
260
|
end
|
261
|
-
|
262
|
-
|
261
|
+
|
262
|
+
escape_resource_str = escape_resource.join(' ')
|
263
|
+
escape_resource_arr = escape_resource_str.split(' ')
|
264
|
+
|
265
|
+
escape_resource_arr = escape_resource_arr.select do | source |
|
266
|
+
suffix = File.extname(source)
|
267
|
+
not expand_suffix(suffix)
|
268
|
+
end
|
269
|
+
|
270
|
+
UI.message "Copying resources #{escape_resource_arr}"
|
271
|
+
`cp -rp #{escape_resource_arr.join(' ')} #{resource_target_dir}`
|
263
272
|
end
|
264
273
|
end
|
265
274
|
|
@@ -269,6 +278,17 @@ module CBin
|
|
269
278
|
end
|
270
279
|
end
|
271
280
|
|
281
|
+
def expand_suffix(suffix)
|
282
|
+
case suffix
|
283
|
+
when '.storyboard' then true
|
284
|
+
when '.xib' then true
|
285
|
+
when '.xcdatamodel' then true
|
286
|
+
when '.xcdatamodeld' then true
|
287
|
+
when '.xcmappingmodel' then true
|
288
|
+
else false
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
272
292
|
def framework
|
273
293
|
@framework ||= begin
|
274
294
|
framework = Framework.new(@spec.name, @platform.name.to_s)
|
@@ -119,8 +119,6 @@ module CBin
|
|
119
119
|
|
120
120
|
@spec.resources = binary_resources if @spec.attributes_hash.keys.include?("resources")
|
121
121
|
|
122
|
-
|
123
|
-
|
124
122
|
@spec
|
125
123
|
end
|
126
124
|
|
@@ -133,7 +131,7 @@ module CBin
|
|
133
131
|
end
|
134
132
|
|
135
133
|
def framework_contents(name)
|
136
|
-
["#{code_spec.root.name}.framework"
|
134
|
+
["#{code_spec.root.name}.framework"].map { |path| "#{path}/#{name}" }
|
137
135
|
end
|
138
136
|
|
139
137
|
def binary_source_files
|
@@ -140,8 +140,15 @@ module CBin
|
|
140
140
|
if code_spec_consumer.resources.any?
|
141
141
|
extnames += code_spec_consumer.resources.map { |r| File.basename(r) }
|
142
142
|
end
|
143
|
+
|
144
|
+
extnames = extnames.select do | extname |
|
145
|
+
not expand_suffix(extname)
|
146
|
+
end
|
147
|
+
|
143
148
|
if extnames.any?
|
144
|
-
|
149
|
+
resources = framework_contents('Resources').flat_map { |r| extnames.map { |e| "#{r}/#{e}" } }
|
150
|
+
resources << "#{code_spec.root.name}.framework/*.{storyboardc,nib,mom,momd,cdm}"
|
151
|
+
@spec.resources = resources
|
145
152
|
end
|
146
153
|
|
147
154
|
# Source Location
|
@@ -182,6 +189,16 @@ module CBin
|
|
182
189
|
@spec
|
183
190
|
end
|
184
191
|
|
192
|
+
def expand_suffix(suffix)
|
193
|
+
if suffix.end_with?('.storyboard') ||
|
194
|
+
suffix.end_with?('.xib') ||
|
195
|
+
suffix.end_with?('.xcdatamodel') ||
|
196
|
+
suffix.end_with?('.xcdatamodeld') ||
|
197
|
+
suffix.end_with?('.xcmappingmodel')
|
198
|
+
return true
|
199
|
+
end
|
200
|
+
false
|
201
|
+
end
|
185
202
|
|
186
203
|
def binary_source
|
187
204
|
{ http: format(CBin.config.binary_download_url, code_spec.root.name, code_spec.version), type: CBin.config.download_file_type }
|
@@ -192,7 +209,6 @@ module CBin
|
|
192
209
|
end
|
193
210
|
|
194
211
|
def framework_contents(name)
|
195
|
-
# ["#{code_spec.root.name}.framework", "#{code_spec.root.name}.framework/Versions/A"].map { |path| "#{path}/#{name}" }
|
196
212
|
["#{code_spec.root.name}.framework"].map { |path| "#{path}/#{name}" }
|
197
213
|
end
|
198
214
|
|
@@ -10,6 +10,13 @@ require 'cocoapods-tdf-bin/command/bin/archive'
|
|
10
10
|
|
11
11
|
module Pod
|
12
12
|
class Resolver
|
13
|
+
|
14
|
+
# 仅仅只是编译出产物,不上传
|
15
|
+
@@build_dependencies_only_build = false
|
16
|
+
|
17
|
+
# 是否是在进行二进制打包处理,没有的话一些步奏需要省略掉
|
18
|
+
@@build_dependencies_bin = false
|
19
|
+
|
13
20
|
if Pod.match_version?('~> 1.6')
|
14
21
|
# 其实不用到 resolver_specs_by_target 再改 spec
|
15
22
|
# 在这个方法里面,通过修改 dependency 的 source 应该也可以
|
@@ -94,6 +101,11 @@ module Pod
|
|
94
101
|
def Resolver.build_dependencies_only_build(only_build)
|
95
102
|
@@build_dependencies_only_build = only_build
|
96
103
|
end
|
104
|
+
|
105
|
+
def Resolver.build_dependencies_bin(bin)
|
106
|
+
@@build_dependencies_bin = bin
|
107
|
+
end
|
108
|
+
|
97
109
|
end
|
98
110
|
|
99
111
|
# >= 1.4.0 才有 resolver_specs_by_target 以及 ResolverSpecification
|
@@ -135,8 +147,11 @@ module Pod
|
|
135
147
|
source = use_binary ? sources_manager.binary_source : sources_manager.code_source
|
136
148
|
|
137
149
|
spec_version = rspec.spec.version
|
138
|
-
|
139
|
-
|
150
|
+
|
151
|
+
if use_binary
|
152
|
+
UI.message 'cocoapods-tdf-bin 插件'
|
153
|
+
UI.message "- 开始处理 #{rspec.spec.name} #{spec_version} 组件."
|
154
|
+
end
|
140
155
|
|
141
156
|
if @@build_dependencies_only_build
|
142
157
|
missing_binary_specs << rspec.spec
|
@@ -160,15 +175,12 @@ module Pod
|
|
160
175
|
end
|
161
176
|
# used_by_only = rspec.respond_to?(:used_by_tests_only) ? rspec.used_by_tests_only : rspec.used_by_non_library_targets_only
|
162
177
|
# 组装新的 rspec ,替换原 rspec
|
163
|
-
if
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
UI.message "组装新的 rspec ,替换原 rspec #{rspec.root.name} #{spec_version} \r\n specification =#{specification} \r\n #{rspec} "
|
170
|
-
|
171
|
-
end
|
178
|
+
rspec = if Pod.match_version?('~> 1.4.0')
|
179
|
+
ResolverSpecification.new(specification, used_by_only)
|
180
|
+
else
|
181
|
+
ResolverSpecification.new(specification, used_by_only, source)
|
182
|
+
end
|
183
|
+
UI.message "组装新的 rspec ,替换原 rspec #{rspec.root.name} #{spec_version} \r\n specification =#{specification} \r\n #{rspec} "
|
172
184
|
|
173
185
|
rescue Pod::StandardError => e
|
174
186
|
# 没有从新的 source 找到对应版本组件,直接返回原 rspec
|
@@ -183,6 +195,10 @@ module Pod
|
|
183
195
|
end.compact
|
184
196
|
end
|
185
197
|
|
198
|
+
unless @@build_dependencies_bin
|
199
|
+
return specs_by_target
|
200
|
+
end
|
201
|
+
|
186
202
|
if missing_binary_specs.any?
|
187
203
|
missing_binary_specs.uniq.each do |spec|
|
188
204
|
UI.message "【#{spec.name} | #{spec.version}】组件无对应二进制版本 , 将采用源码依赖."
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-tdf-bin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- gaijiaofan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-06
|
11
|
+
date: 2021-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parallel
|