cocoapods-fy-bin 0.1.3 → 0.1.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/lib/cocoapods-fy-bin/command/bin/archive.rb +3 -0
- data/lib/cocoapods-fy-bin/command/bin/auto.rb +5 -0
- data/lib/cocoapods-fy-bin/gem_version.rb +1 -1
- data/lib/cocoapods-fy-bin/helpers/build_helper.rb +3 -1
- data/lib/cocoapods-fy-bin/helpers/framework_builder.rb +30 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0366cd54caf14a564266fc214c5d60fbe97d96773b4354ea0e69a0696160f41
|
4
|
+
data.tar.gz: 6f8122f4f8f4e067f4e8f18163a930612fb8c5f2a452b7b8e81da4b98c6034b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0eb16f11626788cda94240af0e863cd41b1654a0245305c520c543205cdcfdf88f371cb96f680061f7ed0f9224e991b4a646ea5b197c3b373649cf57a3dd21f4
|
7
|
+
data.tar.gz: f0a5bc9d0e07d5aa3edd87a9a21b1c1cb76d776b3e3b4acebfaa928f0c3194b2fd8218b31ed2852c2ce67ca405d96b4fa4bab8078d2b7b8475f4e1ebb26068aa
|
@@ -33,6 +33,7 @@ module Pod
|
|
33
33
|
['--env', "该组件上传的环境 %w[debug release]"],
|
34
34
|
['--archs', "需要二进制组件的架构"],
|
35
35
|
['--pre_build_shell', "xcodebuild前的脚本命令"],
|
36
|
+
['--suf_build_shell', "xcodebuild后的脚本命令"],
|
36
37
|
['--toolchain', "设置toolchain"]
|
37
38
|
].concat(Pod::Command::Gen.options).concat(super).uniq
|
38
39
|
end
|
@@ -57,6 +58,7 @@ module Pod
|
|
57
58
|
@platform = Platform.new(:ios)
|
58
59
|
@archs = argv.option('archs', 'armv7,arm64')
|
59
60
|
@pre_build_shell = argv.option('pre_build_shell') || ''
|
61
|
+
@suf_build_shell = argv.option('suf_build_shell') || ''
|
60
62
|
@toolchain = argv.option('toolchain') || ''
|
61
63
|
@config = argv.option('configuration', 'Release')
|
62
64
|
|
@@ -93,6 +95,7 @@ module Pod
|
|
93
95
|
@spec,
|
94
96
|
@archs,
|
95
97
|
@pre_build_shell,
|
98
|
+
@suf_build_shell,
|
96
99
|
@toolchain,
|
97
100
|
CBin::Config::Builder.instance.white_pod_list.include?(@spec.name),
|
98
101
|
@config)
|
@@ -23,6 +23,7 @@ module Pod
|
|
23
23
|
['--env', "该组件上传的环境 %w[debug release]"],
|
24
24
|
['--archs', "需要二进制组件的架构"],
|
25
25
|
['--pre_build_shell', "xcodebuild前的脚本命令"],
|
26
|
+
['--suf_build_shell', "xcodebuild后的脚本命令"],
|
26
27
|
['--toolchain', "设置toolchain"]
|
27
28
|
].concat(Pod::Command::Gen.options).concat(super).uniq
|
28
29
|
end
|
@@ -42,6 +43,7 @@ module Pod
|
|
42
43
|
@verbose = argv.flag?('verbose', true)
|
43
44
|
@archs = argv.flag?('archs', 'arm64')
|
44
45
|
@pre_build_shell = argv.option('pre_build_shell') || ''
|
46
|
+
@suf_build_shell = argv.option('suf_build_shell') || ''
|
45
47
|
@toolchain = argv.option('toolchain') || ''
|
46
48
|
@config = argv.option('configuration', 'Debug')
|
47
49
|
@additional_args = argv.remainder!
|
@@ -133,6 +135,9 @@ module Pod
|
|
133
135
|
if @pre_build_shell
|
134
136
|
argvs += ["--pre_build_shell=#{@pre_build_shell}"]
|
135
137
|
end
|
138
|
+
if @suf_build_shell
|
139
|
+
argvs += ["--suf_build_shell=#{@suf_build_shell}"]
|
140
|
+
end
|
136
141
|
if @toolchain
|
137
142
|
argvs += ["--toolchain=#{@toolchain}"]
|
138
143
|
end
|
@@ -21,6 +21,7 @@ module CBin
|
|
21
21
|
rootSpec,
|
22
22
|
archs,
|
23
23
|
pre_build_shell,
|
24
|
+
suf_build_shell,
|
24
25
|
toolchain,
|
25
26
|
skip_archive = false,
|
26
27
|
build_model="Release")
|
@@ -31,6 +32,7 @@ module CBin
|
|
31
32
|
@isRootSpec = rootSpec.name == spec.name
|
32
33
|
@archs = archs
|
33
34
|
@pre_build_shell = pre_build_shell
|
35
|
+
@suf_build_shell = suf_build_shell
|
34
36
|
@toolchain = toolchain
|
35
37
|
@skip_archive = skip_archive
|
36
38
|
@framework_output = framework_output
|
@@ -60,7 +62,7 @@ module CBin
|
|
60
62
|
source_dir = Dir.pwd
|
61
63
|
file_accessor = Sandbox::FileAccessor.new(Pathname.new('.').expand_path, @spec.consumer(@platform))
|
62
64
|
Dir.chdir(workspace_directory) do
|
63
|
-
builder = CBin::Framework::Builder.new(@spec, file_accessor, @platform, source_dir, @archs, @pre_build_shell, @toolchain, @isRootSpec, @build_model)
|
65
|
+
builder = CBin::Framework::Builder.new(@spec, file_accessor, @platform, source_dir, @archs, @pre_build_shell, @suf_build_shell, @toolchain, @isRootSpec, @build_model)
|
64
66
|
@@build_defines = builder.build if @isRootSpec
|
65
67
|
begin
|
66
68
|
@framework_path = builder.lipo_build(@@build_defines) unless @skip_archive
|
@@ -10,7 +10,7 @@ module CBin
|
|
10
10
|
class Builder
|
11
11
|
include Pod
|
12
12
|
#Debug下还待完成
|
13
|
-
def initialize(spec, file_accessor, platform, source_dir, archs, pre_build_shell, toolchain, isRootSpec = true, build_model="Debug")
|
13
|
+
def initialize(spec, file_accessor, platform, source_dir, archs, pre_build_shell, suf_build_shell, toolchain, isRootSpec = true, build_model="Debug")
|
14
14
|
@spec = spec
|
15
15
|
@source_dir = source_dir
|
16
16
|
@file_accessor = file_accessor
|
@@ -19,6 +19,7 @@ module CBin
|
|
19
19
|
@isRootSpec = isRootSpec
|
20
20
|
@archs = archs
|
21
21
|
@pre_build_shell = pre_build_shell
|
22
|
+
@suf_build_shell = suf_build_shell
|
22
23
|
@toolchain = toolchain
|
23
24
|
#vendored_static_frameworks 只有 xx.framework 需要拼接为 xx.framework/xx by slj
|
24
25
|
vendored_static_frameworks = file_accessor.vendored_static_frameworks.map do |framework|
|
@@ -80,7 +81,7 @@ module CBin
|
|
80
81
|
archs.map do |arch|
|
81
82
|
xcodebuild(defines, "-sdk iphonesimulator ARCHS=\'#{arch}\' ", "build-#{arch}",@build_model)
|
82
83
|
end
|
83
|
-
|
84
|
+
suf_build_command
|
84
85
|
end
|
85
86
|
|
86
87
|
|
@@ -169,12 +170,13 @@ module CBin
|
|
169
170
|
end
|
170
171
|
|
171
172
|
def compile
|
172
|
-
defines = "
|
173
|
-
defines += " SWIFT_ACTIVE_COMPILATION_CONDITIONS='$(inherited)' "
|
174
|
-
defines += @spec.consumer(@platform).compiler_flags.join(' ')
|
173
|
+
defines = ""
|
175
174
|
unless @toolchain.empty? then
|
176
175
|
defines += "-toolchain \"#{@toolchain}\""
|
177
176
|
end
|
177
|
+
defines += "GCC_PREPROCESSOR_DEFINITIONS='$(inherited)'"
|
178
|
+
defines += " SWIFT_ACTIVE_COMPILATION_CONDITIONS='$(inherited)' "
|
179
|
+
defines += @spec.consumer(@platform).compiler_flags.join(' ')
|
178
180
|
options = ios_build_options
|
179
181
|
# if is_debug_model
|
180
182
|
archs = ios_architectures
|
@@ -225,13 +227,33 @@ module CBin
|
|
225
227
|
end
|
226
228
|
end
|
227
229
|
|
230
|
+
# 编译后需执行的的shell脚本
|
231
|
+
def suf_build_command
|
232
|
+
unless @suf_build_shell.empty? then
|
233
|
+
command = "sh #{@suf_build_shell}"
|
234
|
+
puts command
|
235
|
+
UI.message "command = #{command}"
|
236
|
+
output = `#{command}`.lines.to_a
|
237
|
+
|
238
|
+
if $CHILD_STATUS.exitstatus != 0
|
239
|
+
raise <<~EOF
|
240
|
+
Shell command failed: #{command}
|
241
|
+
Output:
|
242
|
+
#{output.map { |line| " #{line}" }.join}
|
243
|
+
EOF
|
244
|
+
|
245
|
+
Process.exit
|
246
|
+
end
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
228
250
|
def xcodebuild(defines = '', args = '', build_dir = 'build', build_model = 'Debug')
|
229
251
|
|
230
252
|
unless File.exist?("Pods.xcodeproj") #cocoapods-generate v2.0.0
|
231
|
-
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"
|
253
|
+
command = "sudo 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"
|
232
254
|
puts command
|
233
255
|
else
|
234
|
-
command = "xcodebuild #{defines} #{args} CONFIGURATION_BUILD_DIR=#{build_dir} clean build -configuration #{build_model} -target #{target_name} -project ./Pods.xcodeproj 2>&1"
|
256
|
+
command = "sudo xcodebuild #{defines} #{args} CONFIGURATION_BUILD_DIR=#{build_dir} clean build -configuration #{build_model} -target #{target_name} -project ./Pods.xcodeproj 2>&1"
|
235
257
|
puts command
|
236
258
|
end
|
237
259
|
|
@@ -239,6 +261,7 @@ module CBin
|
|
239
261
|
output = `#{command}`.lines.to_a
|
240
262
|
|
241
263
|
if $CHILD_STATUS.exitstatus != 0
|
264
|
+
suf_build_command
|
242
265
|
raise <<~EOF
|
243
266
|
Build command failed: #{command}
|
244
267
|
Output:
|