cocoapods-aomi-bin 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cocoapods-lhj-bin/command/bin/archive.rb +1 -1
- data/lib/cocoapods-lhj-bin/gem_version.rb +1 -1
- data/lib/cocoapods-lhj-bin/helpers/framework.rb +6 -0
- data/lib/cocoapods-lhj-bin/helpers/framework_builder.rb +39 -64
- data/lib/cocoapods-lhj-bin/helpers/spec_source_creator.rb +20 -14
- data/lib/cocoapods-lhj-bin/source_provider_hook.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: 1d14370bf2f3988bd859f9d2233d69c5337228c5bc53b6f52fc0704e742be708
|
4
|
+
data.tar.gz: 7bca87b04e368930953f835d7063ec254c428b3e964dda7d956d3c60a2b546b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c931018ac9a9ffe7c33de89924fc8384f5838dd5fe4e5a2374cebeceacb87716a85f526bd3e518b68a28377ffcee585a47ead26e716bdb7918c6305c79b7063
|
7
|
+
data.tar.gz: 40a94477c63616344e8f0343de22458e04fe5b7c916493baae7a2935f249875cfe52a31e4858a73c2338991b264b1ad977c90ce6d056b06a6acca565057d7976
|
@@ -9,6 +9,7 @@ module CBin
|
|
9
9
|
attr_reader :versions_path
|
10
10
|
attr_reader :swift_module_path
|
11
11
|
attr_reader :fwk_path
|
12
|
+
attr_reader :root_resources_path
|
12
13
|
|
13
14
|
def initialize(name, platform)
|
14
15
|
@name = name
|
@@ -77,6 +78,11 @@ module CBin
|
|
77
78
|
@resources_path.mkpath unless @resources_path.exist?
|
78
79
|
end
|
79
80
|
|
81
|
+
def make_root_resources
|
82
|
+
@root_resources_path = @fwk_path + Pathname.new('Resources')
|
83
|
+
@root_resources_path.mkpath unless @root_resources_path.exist?
|
84
|
+
end
|
85
|
+
|
80
86
|
def make_root
|
81
87
|
@root_path = Pathname.new(@platform)
|
82
88
|
@root_path.mkpath unless @root_path.exist?
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# copy from https://github.com/CocoaPods/cocoapods-packager
|
2
3
|
|
3
4
|
require 'cocoapods-lhj-bin/helpers/framework'
|
@@ -11,7 +12,7 @@ module CBin
|
|
11
12
|
class Builder
|
12
13
|
include Pod
|
13
14
|
#Debug下还待完成
|
14
|
-
def initialize(spec, file_accessor, platform, source_dir, isRootSpec = true, build_model=
|
15
|
+
def initialize(spec, file_accessor, platform, source_dir, isRootSpec = true, build_model='Debug')
|
15
16
|
@spec = spec
|
16
17
|
@source_dir = source_dir
|
17
18
|
@file_accessor = file_accessor
|
@@ -22,9 +23,7 @@ module CBin
|
|
22
23
|
vendored_static_frameworks = file_accessor.vendored_static_frameworks.map do |framework|
|
23
24
|
path = framework
|
24
25
|
extn = File.extname path
|
25
|
-
if extn.downcase == '.framework'
|
26
|
-
path = File.join(path,File.basename(path, extn))
|
27
|
-
end
|
26
|
+
path = File.join(path,File.basename(path, extn)) if extn.downcase == '.framework'
|
28
27
|
path
|
29
28
|
end
|
30
29
|
|
@@ -42,9 +41,6 @@ module CBin
|
|
42
41
|
|
43
42
|
# if CBin::Build::Utils.is_swift_module(@spec) || !CBin::Build::Utils.uses_frameworks?
|
44
43
|
# UI.section("Building static Library #{@spec}") do
|
45
|
-
# # defines = compile
|
46
|
-
#
|
47
|
-
# # build_sim_libraries(defines)
|
48
44
|
# output = framework.versions_path + Pathname.new(@spec.name)
|
49
45
|
#
|
50
46
|
# build_static_library_for_ios(output)
|
@@ -58,9 +54,6 @@ module CBin
|
|
58
54
|
# else
|
59
55
|
# begin
|
60
56
|
UI.section("Building framework #{@spec}") do
|
61
|
-
# defines = compile
|
62
|
-
|
63
|
-
# build_sim_libraries(defines)
|
64
57
|
output = framework.fwk_path + Pathname.new(@spec.name)
|
65
58
|
|
66
59
|
copy_static_framework_dir_for_ios
|
@@ -69,12 +62,6 @@ module CBin
|
|
69
62
|
|
70
63
|
# copy_license
|
71
64
|
copy_framework_resources
|
72
|
-
|
73
|
-
#cp_to_source_dir#
|
74
|
-
|
75
|
-
# rescue Object => exception
|
76
|
-
# UI.puts exception
|
77
|
-
# end
|
78
65
|
end
|
79
66
|
# end
|
80
67
|
|
@@ -112,9 +99,7 @@ module CBin
|
|
112
99
|
|
113
100
|
def static_libs_in_sandbox(build_dir = 'build')
|
114
101
|
file = Dir.glob("#{build_dir}/lib#{target_name}.a")
|
115
|
-
unless file
|
116
|
-
UI.warn "file no find = #{build_dir}/lib#{target_name}.a"
|
117
|
-
end
|
102
|
+
UI.warn "file no find = #{build_dir}/lib#{target_name}.a" unless file
|
118
103
|
file
|
119
104
|
end
|
120
105
|
|
@@ -129,7 +114,7 @@ module CBin
|
|
129
114
|
static_libs += static_libs_in_sandbox("build-#{arch}") + @vendored_libraries
|
130
115
|
end
|
131
116
|
|
132
|
-
build_path = Pathname(
|
117
|
+
build_path = Pathname('build')
|
133
118
|
build_path.mkpath unless build_path.exist?
|
134
119
|
|
135
120
|
libs = (ios_architectures + ios_architectures_sim) .map do |arch|
|
@@ -158,19 +143,19 @@ module CBin
|
|
158
143
|
# iphone5,iphone5s以下的模拟器
|
159
144
|
# >x86_64
|
160
145
|
# iphone6以上的模拟器
|
161
|
-
|
146
|
+
%w[arm64 armv7]
|
162
147
|
# archs = %w[x86_64 arm64 armv7s i386]
|
163
148
|
# @vendored_libraries.each do |library|
|
164
149
|
# archs = `lipo -info #{library}`.split & archs
|
165
150
|
# end
|
166
|
-
|
151
|
+
|
167
152
|
end
|
168
153
|
|
169
154
|
def ios_architectures_sim
|
170
155
|
|
171
|
-
|
172
|
-
# TODO 处理是否需要 i386
|
173
|
-
|
156
|
+
%w[x86_64]
|
157
|
+
# TODO: 处理是否需要 i386
|
158
|
+
|
174
159
|
end
|
175
160
|
|
176
161
|
def compile
|
@@ -193,7 +178,7 @@ module CBin
|
|
193
178
|
end
|
194
179
|
|
195
180
|
def is_debug_model
|
196
|
-
@build_model ==
|
181
|
+
@build_model == 'Debug'
|
197
182
|
end
|
198
183
|
|
199
184
|
def target_name
|
@@ -208,10 +193,10 @@ module CBin
|
|
208
193
|
|
209
194
|
def xcodebuild(defines = '', args = '', build_dir = 'build', build_model = 'Debug')
|
210
195
|
|
211
|
-
|
212
|
-
command = "xcodebuild #{defines} #{args} CONFIGURATION_BUILD_DIR=#{File.join(File.expand_path("..", build_dir), File.basename(build_dir))} clean build -configuration #{build_model} -target #{target_name} -project ./Pods/Pods.xcodeproj 2>&1"
|
213
|
-
else
|
196
|
+
if File.exist?('Pods.xcodeproj')
|
214
197
|
command = "xcodebuild #{defines} #{args} CONFIGURATION_BUILD_DIR=#{build_dir} clean build -configuration #{build_model} -target #{target_name} -project ./Pods.xcodeproj 2>&1"
|
198
|
+
else #cocoapods-generate v2.0.0
|
199
|
+
command = "xcodebuild #{defines} #{args} CONFIGURATION_BUILD_DIR=#{File.join(File.expand_path('..', build_dir), File.basename(build_dir))} clean build -configuration #{build_model} -target #{target_name} -project ./Pods/Pods.xcodeproj 2>&1"
|
215
200
|
end
|
216
201
|
|
217
202
|
UI.message "command = #{command}"
|
@@ -230,14 +215,12 @@ module CBin
|
|
230
215
|
|
231
216
|
def copy_headers
|
232
217
|
#走 podsepc中的public_headers
|
233
|
-
public_headers =
|
218
|
+
public_headers = []
|
234
219
|
|
235
220
|
#by slj 如果没有头文件,去 "Headers/Public"拿
|
236
221
|
# if public_headers.empty?
|
237
222
|
spec_header_dir = "./Headers/Public/#{@spec.name}"
|
238
|
-
unless File.exist?(spec_header_dir)
|
239
|
-
spec_header_dir = "./Pods/Headers/Public/#{@spec.name}"
|
240
|
-
end
|
223
|
+
spec_header_dir = "./Pods/Headers/Public/#{@spec.name}" unless File.exist?(spec_header_dir)
|
241
224
|
raise "copy_headers #{spec_header_dir} no exist " unless File.exist?(spec_header_dir)
|
242
225
|
Dir.chdir(spec_header_dir) do
|
243
226
|
headers = Dir.glob('*.h')
|
@@ -258,9 +241,7 @@ module CBin
|
|
258
241
|
# create a default 'module_map' one using it.
|
259
242
|
if !@spec.module_map.nil?
|
260
243
|
module_map_file = @file_accessor.module_map
|
261
|
-
if Pathname(module_map_file).exist?
|
262
|
-
module_map = File.read(module_map_file)
|
263
|
-
end
|
244
|
+
module_map = File.read(module_map_file) if Pathname(module_map_file).exist?
|
264
245
|
elsif public_headers.map(&:basename).map(&:to_s).include?("#{@spec.name}-umbrella.h")
|
265
246
|
module_map = <<-MAP
|
266
247
|
framework module #{@spec.name} {
|
@@ -274,9 +255,7 @@ module CBin
|
|
274
255
|
|
275
256
|
unless module_map.nil?
|
276
257
|
UI.message "Writing module map #{module_map}"
|
277
|
-
unless framework.module_map_path.exist?
|
278
|
-
framework.module_map_path.mkpath
|
279
|
-
end
|
258
|
+
framework.module_map_path.mkpath unless framework.module_map_path.exist?
|
280
259
|
File.write("#{framework.module_map_path}/module.modulemap", module_map)
|
281
260
|
|
282
261
|
# unless framework.swift_module_path.exist?
|
@@ -286,20 +265,16 @@ module CBin
|
|
286
265
|
archs = ios_architectures + ios_architectures_sim
|
287
266
|
archs.map do |arch|
|
288
267
|
swift_module = "build-#{arch}/#{@spec.name}.swiftmodule"
|
289
|
-
if File.directory?(swift_module)
|
290
|
-
FileUtils.cp_r("#{swift_module}/.", framework.swift_module_path)
|
291
|
-
end
|
268
|
+
FileUtils.cp_r("#{swift_module}/.", framework.swift_module_path) if File.directory?(swift_module)
|
292
269
|
end
|
293
270
|
swift_Compatibility_Header = "build-#{archs.first}/Swift\ Compatibility\ Header/#{@spec.name}-Swift.h"
|
294
271
|
FileUtils.cp(swift_Compatibility_Header,framework.headers_path) if File.exist?(swift_Compatibility_Header)
|
295
|
-
info_plist_file = File.join(File.dirname(__FILE__),
|
272
|
+
info_plist_file = File.join(File.dirname(__FILE__),'info.plist')
|
296
273
|
FileUtils.cp(info_plist_file,framework.fwk_path)
|
297
274
|
end
|
298
275
|
end
|
299
276
|
|
300
|
-
def copy_swift_header
|
301
|
-
|
302
|
-
end
|
277
|
+
def copy_swift_header; end
|
303
278
|
|
304
279
|
def copy_license
|
305
280
|
UI.message 'Copying license'
|
@@ -327,7 +302,7 @@ module CBin
|
|
327
302
|
bundle_names.include?(bundle_name)
|
328
303
|
end
|
329
304
|
|
330
|
-
if bundles.count
|
305
|
+
if bundles.count.positive?
|
331
306
|
UI.message "Copying bundle files #{bundles}"
|
332
307
|
bundle_files = bundles.join(' ')
|
333
308
|
`cp -rp #{bundle_files} #{framework.resources_path} 2>&1`
|
@@ -335,13 +310,11 @@ module CBin
|
|
335
310
|
|
336
311
|
real_source_dir = @source_dir
|
337
312
|
unless @isRootSpec
|
338
|
-
spec_source_dir = File.join(Dir.pwd
|
339
|
-
unless File.exist?(spec_source_dir)
|
340
|
-
spec_source_dir = File.join(Dir.pwd,"Pods/#{@spec.name}")
|
341
|
-
end
|
313
|
+
spec_source_dir = File.join(Dir.pwd,@spec.name.to_s)
|
314
|
+
spec_source_dir = File.join(Dir.pwd,"Pods/#{@spec.name}") unless File.exist?(spec_source_dir)
|
342
315
|
raise "copy_resources #{spec_source_dir} no exist " unless File.exist?(spec_source_dir)
|
343
316
|
|
344
|
-
spec_source_dir = File.join(Dir.pwd
|
317
|
+
spec_source_dir = File.join(Dir.pwd,@spec.name.to_s)
|
345
318
|
real_source_dir = spec_source_dir
|
346
319
|
end
|
347
320
|
|
@@ -349,12 +322,12 @@ module CBin
|
|
349
322
|
expand_paths(real_source_dir, spec.consumer(@platform).resources)
|
350
323
|
end.compact.uniq
|
351
324
|
|
352
|
-
if resources.count
|
325
|
+
if resources.count.zero? && bundles.count.zero?
|
353
326
|
framework.delete_resources
|
354
327
|
return
|
355
328
|
end
|
356
329
|
|
357
|
-
if resources.count
|
330
|
+
if resources.count.positive?
|
358
331
|
#把 路径转义。 避免空格情况下拷贝失败
|
359
332
|
escape_resource = []
|
360
333
|
resources.each do |source|
|
@@ -385,7 +358,7 @@ module CBin
|
|
385
358
|
static_libs += static_libs_in_sandbox("build-#{arch}") + @vendored_libraries
|
386
359
|
end
|
387
360
|
|
388
|
-
build_path = Pathname(
|
361
|
+
build_path = Pathname('build')
|
389
362
|
build_path.mkpath unless build_path.exist?
|
390
363
|
|
391
364
|
libs = (ios_architectures + ios_architectures_sim) .map do |arch|
|
@@ -402,18 +375,14 @@ module CBin
|
|
402
375
|
archs = ios_architectures + ios_architectures_sim
|
403
376
|
framework_dir = "build-#{ios_architectures_sim.first}/#{@spec.name}.framework"
|
404
377
|
framework_dir = "build-#{ios_architectures.first}/#{@spec.name}.framework" unless File.exist?(framework_dir)
|
405
|
-
unless File.exist?(framework_dir)
|
406
|
-
raise "#{framework_dir} path no exist"
|
407
|
-
end
|
378
|
+
raise "#{framework_dir} path no exist" unless File.exist?(framework_dir)
|
408
379
|
File.join(Dir.pwd, "build-#{ios_architectures_sim.first}/#{@spec.name}.framework")
|
409
380
|
FileUtils.cp_r(framework_dir, framework.root_path)
|
410
381
|
|
411
|
-
#
|
382
|
+
# TODO: 所有架构的swiftModule拷贝到 framework.swift_module_path
|
412
383
|
archs.map do |arch|
|
413
384
|
swift_module = "build-#{arch}/#{@spec.name}.framework/Modules/#{@spec.name}.swiftmodule"
|
414
|
-
if File.directory?(swift_module)
|
415
|
-
FileUtils.cp_r("#{swift_module}/.", framework.swift_module_path)
|
416
|
-
end
|
385
|
+
FileUtils.cp_r("#{swift_module}/.", framework.swift_module_path) if File.directory?(swift_module)
|
417
386
|
end
|
418
387
|
|
419
388
|
# 删除Versions 软链接
|
@@ -422,8 +391,14 @@ module CBin
|
|
422
391
|
|
423
392
|
def copy_framework_resources
|
424
393
|
resources = Dir.glob("#{framework.fwk_path + Pathname.new('Resources')}/*")
|
425
|
-
if resources.count
|
426
|
-
|
394
|
+
framework.delete_resources if resources.count.zero?
|
395
|
+
|
396
|
+
consumer = @spec.consumer(@platform)
|
397
|
+
if consumer.resource_bundles.keys.any?
|
398
|
+
consumer.resource_bundles.each_key do |bundle_name|
|
399
|
+
bundle_file = "build-arm64/#{bundle_name}.bundle"
|
400
|
+
`cp -fa #{bundle_file} #{framework.fwk_path.to_s}`
|
401
|
+
end
|
427
402
|
end
|
428
403
|
end
|
429
404
|
|
@@ -62,14 +62,16 @@ module CBin
|
|
62
62
|
# @spec.vendored_frameworks = "#{code_spec.root.name}.framework"
|
63
63
|
|
64
64
|
# Resources
|
65
|
-
extnames = []
|
66
|
-
extnames << '*.bundle' if code_spec_consumer.resource_bundles.any?
|
67
|
-
if code_spec_consumer.resources.any?
|
68
|
-
extnames
|
69
|
-
|
70
|
-
if extnames.any?
|
71
|
-
@spec.resources = framework_contents('Resources').flat_map { |r| extnames.map { |e| "#{r}/#{e}" } }
|
65
|
+
# extnames = []
|
66
|
+
# extnames << '*.bundle' if code_spec_consumer.resource_bundles.any?
|
67
|
+
if code_spec_consumer.resources.keys.any?
|
68
|
+
extnames = code_spec_consumer.resource_bundles.keys.map { |r| "#{code_spec.root.name}.framework/#{r}.bundle" }
|
69
|
+
@spec.resources = extnames
|
72
70
|
end
|
71
|
+
# if extnames.any?
|
72
|
+
# @spec.resources = framework_contents('Resources').flat_map { |r| extnames.map { |e| "#{r}/#{e}" } }
|
73
|
+
# @spec.resources = extnames
|
74
|
+
# end
|
73
75
|
|
74
76
|
# Source Location
|
75
77
|
@spec.source = binary_source
|
@@ -132,14 +134,18 @@ module CBin
|
|
132
134
|
@spec.vendored_frameworks = "#{code_spec.root.name}.framework"
|
133
135
|
|
134
136
|
# Resources
|
135
|
-
extnames = []
|
136
|
-
extnames << '*.bundle' if code_spec_consumer.resource_bundles.any?
|
137
|
-
if code_spec_consumer.
|
138
|
-
extnames
|
139
|
-
|
140
|
-
if extnames.any?
|
141
|
-
@spec.resources = framework_contents('Resources').flat_map { |r| extnames.map { |e| "#{r}/#{e}" } }
|
137
|
+
# extnames = []
|
138
|
+
# extnames << '*.bundle' if code_spec_consumer.resource_bundles.any?
|
139
|
+
if code_spec_consumer.resource_bundles.keys.any?
|
140
|
+
extnames = code_spec_consumer.resource_bundles.keys.map { |r| "#{code_spec.root.name}.framework/#{r}.bundle" }
|
141
|
+
@spec.resources = extnames
|
142
142
|
end
|
143
|
+
# if code_spec_consumer.resources.any?
|
144
|
+
# extnames += code_spec_consumer.resources.map { |r| File.basename(r) }
|
145
|
+
# end
|
146
|
+
# if extnames.any?
|
147
|
+
# @spec.resources = framework_contents('Resources').flat_map { |r| extnames.map { |e| "#{r}/#{e}" } }
|
148
|
+
# end
|
143
149
|
|
144
150
|
# Source Location
|
145
151
|
@spec.source = binary_source
|
@@ -6,7 +6,7 @@ Pod::HooksManager.register('cocoapods-aomi-bin', :pre_install) do |_context, _|
|
|
6
6
|
require 'cocoapods-lhj-bin/native'
|
7
7
|
|
8
8
|
#pod bin update || install 不走这里
|
9
|
-
if $ARGV[1]
|
9
|
+
if $ARGV[1] == 'update' || $ARGV[1] == 'install'
|
10
10
|
|
11
11
|
else
|
12
12
|
# pod bin repo update 更新二进制私有源
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-aomi-bin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lihaijian
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocoapods
|