cocoapods-aomi-bin 0.0.4 → 0.0.5
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/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
|