cocoapods-tdf-bin 0.0.12 → 0.0.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f426d0f65a3e2ad333f5ba92814d51e96c692e450e7971517d45049ec5091075
4
- data.tar.gz: 2a6b18897c3bd6616f5833c3a586844fbbe2f038fc5fb0281600c7584168cf7e
3
+ metadata.gz: cf063e0d4570d17654e501c087cd63ae676b990238bb720cf5ff5303972a6984
4
+ data.tar.gz: c230891ecb4fbaacf6dcdedcb70f1c92610a164c31f75965a125fac8a49034de
5
5
  SHA512:
6
- metadata.gz: b22d9c1539bc9591d3250a0e4ed11d988aa7b0c7028c19309d929b0aad76c2c52867bf53f9244efa39545be2e6c2f1f5e2a20501d14b1f01e24dacc956cd54b1
7
- data.tar.gz: 81b428ff27cc72e2caf90e485fc362436e2a419294433ac144bf90f84cd41819e7b5d14ca6eb143f05ae5d40394e2f1cd93a8a12e14b561728430cc4004bea9d
6
+ metadata.gz: e682d524e2a7ab92f8be63fd9aafa1ec1fb190b2397d5991e9e7873294d1cee4390c510390ef240a772580685633098970af651772289464323c0c3cd8cbe2b4
7
+ data.tar.gz: 7a6c7498c6fc74a2972c157b92c6cf7181350e936ddf03e6c43defd9f4ed4063f67dd6b0ce3f03d6843f40c57fee36fbb086f13f91058e83cee1aa78727f52b2
@@ -50,6 +50,7 @@ module Pod
50
50
  @additional_args = argv.remainder!
51
51
 
52
52
  Pod::Resolver.build_dependencies_only_build(@only_build)
53
+ Pod::Resolver.build_dependencies_bin(true)
53
54
 
54
55
  super
55
56
  end
@@ -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@github.com:su350380433/example_spec_source.git' },
16
- 'binary_repo_url' => { description: '二进制私有源 Git 地址', default: 'git@github.com:su350380433/example_spec_bin_dev.git' },
17
- 'binary_download_url' => { description: '二进制下载地址,内部会依次传入组件名称与版本,替换字符串中的 %s ', default: 'http://localhost:8080/download/%s/%s/zip' },
18
- 'binary_upload_url' => { description: '二进制下载地址,内部会依次传入组件名称与版本,替换字符串中的 %s ', default: 'http://localhost:8080/upload/%s/%s/zip' },
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
  }
@@ -1,6 +1,6 @@
1
1
 
2
2
  module CBin
3
- VERSION = '0.0.12'
3
+ VERSION = '0.0.16'
4
4
  end
5
5
 
6
6
  module Pod
@@ -258,8 +258,17 @@ module CBin
258
258
  resources.each do |source|
259
259
  escape_resource << Shellwords.join(source)
260
260
  end
261
- UI.message "Copying resources #{escape_resource}"
262
- `cp -rp #{escape_resource.join(' ')} #{resource_target_dir}`
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", "#{code_spec.root.name}.framework/Versions/A"].map { |path| "#{path}/#{name}" }
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
- @spec.resources = framework_contents('Resources').flat_map { |r| extnames.map { |e| "#{r}/#{e}" } }
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
 
@@ -11,8 +11,12 @@ require 'cocoapods-tdf-bin/command/bin/archive'
11
11
  module Pod
12
12
  class Resolver
13
13
 
14
+ # 仅仅只是编译出产物,不上传
14
15
  @@build_dependencies_only_build = false
15
16
 
17
+ # 是否是在进行二进制打包处理,没有的话一些步奏需要省略掉
18
+ @@build_dependencies_bin = false
19
+
16
20
  if Pod.match_version?('~> 1.6')
17
21
  # 其实不用到 resolver_specs_by_target 再改 spec
18
22
  # 在这个方法里面,通过修改 dependency 的 source 应该也可以
@@ -97,6 +101,11 @@ module Pod
97
101
  def Resolver.build_dependencies_only_build(only_build)
98
102
  @@build_dependencies_only_build = only_build
99
103
  end
104
+
105
+ def Resolver.build_dependencies_bin(bin)
106
+ @@build_dependencies_bin = bin
107
+ end
108
+
100
109
  end
101
110
 
102
111
  # >= 1.4.0 才有 resolver_specs_by_target 以及 ResolverSpecification
@@ -138,8 +147,11 @@ module Pod
138
147
  source = use_binary ? sources_manager.binary_source : sources_manager.code_source
139
148
 
140
149
  spec_version = rspec.spec.version
141
- UI.message 'cocoapods-tdf-bin 插件'
142
- UI.message "- 开始处理 #{rspec.spec.name} #{spec_version} 组件."
150
+
151
+ if use_binary
152
+ UI.message 'cocoapods-tdf-bin 插件'
153
+ UI.message "- 开始处理 #{rspec.spec.name} #{spec_version} 组件."
154
+ end
143
155
 
144
156
  if @@build_dependencies_only_build
145
157
  missing_binary_specs << rspec.spec
@@ -163,14 +175,13 @@ module Pod
163
175
  end
164
176
  # used_by_only = rspec.respond_to?(:used_by_tests_only) ? rspec.used_by_tests_only : rspec.used_by_non_library_targets_only
165
177
  # 组装新的 rspec ,替换原 rspec
166
- if use_binary
178
+ if rspec.source != false
167
179
  rspec = if Pod.match_version?('~> 1.4.0')
168
180
  ResolverSpecification.new(specification, used_by_only)
169
181
  else
170
182
  ResolverSpecification.new(specification, used_by_only, source)
171
183
  end
172
184
  UI.message "组装新的 rspec ,替换原 rspec #{rspec.root.name} #{spec_version} \r\n specification =#{specification} \r\n #{rspec} "
173
-
174
185
  end
175
186
 
176
187
  rescue Pod::StandardError => e
@@ -186,6 +197,10 @@ module Pod
186
197
  end.compact
187
198
  end
188
199
 
200
+ unless @@build_dependencies_bin
201
+ return specs_by_target
202
+ end
203
+
189
204
  if missing_binary_specs.any?
190
205
  missing_binary_specs.uniq.each do |spec|
191
206
  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.12
4
+ version: 0.0.16
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-08 00:00:00.000000000 Z
11
+ date: 2021-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parallel