cocoapods-aomi-bin 0.0.4 → 0.1.0
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.rb +6 -1
- data/lib/cocoapods-lhj-bin/command/bin/archive.rb +1 -1
- data/lib/cocoapods-lhj-bin/command/bin/config/push.rb +48 -0
- data/lib/cocoapods-lhj-bin/command/bin/fetch.rb +68 -0
- data/lib/cocoapods-lhj-bin/command/bin/local.rb +178 -0
- data/lib/cocoapods-lhj-bin/command/bin/oss/del.rb +38 -0
- data/lib/cocoapods-lhj-bin/command/bin/oss/list.rb +26 -0
- data/lib/cocoapods-lhj-bin/command/bin/trans.rb +63 -0
- 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/oss_helper.rb +35 -0
- data/lib/cocoapods-lhj-bin/helpers/spec_source_creator.rb +20 -14
- data/lib/cocoapods-lhj-bin/helpers/trans_helper.rb +50 -0
- data/lib/cocoapods-lhj-bin/helpers/upload_helper.rb +2 -4
- data/lib/cocoapods-lhj-bin/source_provider_hook.rb +1 -1
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80ad9f8265fd7c660cccdd2d4d5c92d760c0ac57938b7aad1cf69f85b4fd811d
|
4
|
+
data.tar.gz: 846fe0ee62ef9c677dacb88e88092e6bea318f4a88c842c9ddc6c9391039a9c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33f28153039cd4e1119eff8527b649eca2bbd6392cf7e2faee22ed922173b79f8a1c2679f875e18901274f2dc0d8797a5e41461ea07275cec59b035aeefb4195
|
7
|
+
data.tar.gz: f19c525b22b4cd6eed429d5f8b48c56b886d0a0dd08b32ee0cfee850b59752fa2216277847466c6aef797314ee4066a4f6d11b0f3ea8ce6eb151cd9ee46911b7
|
@@ -6,7 +6,13 @@ require 'cocoapods-lhj-bin/command/bin/code'
|
|
6
6
|
require 'cocoapods-lhj-bin/command/bin/update'
|
7
7
|
require 'cocoapods-lhj-bin/command/bin/install'
|
8
8
|
require 'cocoapods-lhj-bin/command/bin/import'
|
9
|
+
require 'cocoapods-lhj-bin/command/bin/local'
|
10
|
+
require 'cocoapods-lhj-bin/command/bin/trans'
|
11
|
+
require 'cocoapods-lhj-bin/command/bin/fetch'
|
9
12
|
require 'cocoapods-lhj-bin/command/bin/lhj'
|
13
|
+
require 'cocoapods-lhj-bin/command/bin/config/push'
|
14
|
+
require 'cocoapods-lhj-bin/command/bin/oss/list'
|
15
|
+
require 'cocoapods-lhj-bin/command/bin/oss/del'
|
10
16
|
require 'cocoapods-lhj-bin/helpers'
|
11
17
|
require 'cocoapods-lhj-bin/native'
|
12
18
|
|
@@ -35,7 +41,6 @@ module Pod
|
|
35
41
|
|
36
42
|
self.abstract_command = true
|
37
43
|
|
38
|
-
self.default_subcommand = 'open'
|
39
44
|
self.summary = '组件二进制化插件.'
|
40
45
|
self.description = <<-DESC
|
41
46
|
组件二进制化插件。利用源码私有源与二进制私有源实现对组件依赖类型的切换。
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#coding:utf-8
|
2
|
+
require 'cocoapods-lhj-bin/helpers/oss_helper'
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
module Pod
|
6
|
+
class Command
|
7
|
+
class Bin < Command
|
8
|
+
class Init < Bin
|
9
|
+
class Push < Init
|
10
|
+
self.summary = '推送配置文档到OSS.'
|
11
|
+
|
12
|
+
def initialize(argv)
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
16
|
+
def run
|
17
|
+
push
|
18
|
+
end
|
19
|
+
|
20
|
+
def push_cn_hk
|
21
|
+
file = File.expand_path("#{Pod::Config.instance.home_dir}/zh2hant.yml")
|
22
|
+
CBin::OSS::Helper.instance.upload('zh2hant.yml', file)
|
23
|
+
end
|
24
|
+
|
25
|
+
def push
|
26
|
+
file = File.expand_path("#{Pod::Config.instance.home_dir}/bin_dev.yml")
|
27
|
+
CBin::OSS::Helper.instance.upload('bin_dev.yml', file)
|
28
|
+
end
|
29
|
+
|
30
|
+
def trans
|
31
|
+
key_map = {}
|
32
|
+
path = '/Users/lihaijian/workspace/cocoa/cocoapods-lhj-bin-build-temp/zh2Hant.properties'
|
33
|
+
File.open(path, 'r+') do |f|
|
34
|
+
f.each_line do |line|
|
35
|
+
arr = line.split('=')
|
36
|
+
key = [arr[0][2, 4].hex].pack("U")
|
37
|
+
val = arr[1].strip!
|
38
|
+
key_map[key] = [val[2, 4].hex].pack("U")
|
39
|
+
end
|
40
|
+
end
|
41
|
+
File.open('/Users/lihaijian/workspace/cocoa/cocoapods-lhj-bin-build-temp/zh2hant.yml', 'w') { |f| f.write key_map.to_yaml }
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'csv'
|
4
|
+
|
5
|
+
module Pod
|
6
|
+
class Command
|
7
|
+
class Bin < Command
|
8
|
+
class Fetch < Bin
|
9
|
+
self.summary = '提取源码的中文字符串,并生成中英文对照csv文件'
|
10
|
+
|
11
|
+
def self.options
|
12
|
+
[
|
13
|
+
%w[--file-type 从文件扩展名中查找中文字符串,默认为m,h],
|
14
|
+
%w[--file-name 生成csv文件名,默认为gen_cn_key.csv]
|
15
|
+
]
|
16
|
+
end
|
17
|
+
|
18
|
+
def initialize(argv)
|
19
|
+
@current_path = argv.shift_argument || Dir.pwd
|
20
|
+
@file_type = argv.option('file-type', 'm,h')
|
21
|
+
@file_name = argv.option('file-name', 'gen_cn_key.csv')
|
22
|
+
@cn_keys = []
|
23
|
+
super
|
24
|
+
end
|
25
|
+
|
26
|
+
def run
|
27
|
+
handle_files
|
28
|
+
gen_csv
|
29
|
+
end
|
30
|
+
|
31
|
+
def gen_csv
|
32
|
+
file = File.join(@current_path, @file_name)
|
33
|
+
FileUtils.rm_rf(file) if File.exist?(file)
|
34
|
+
CSV.open(file, 'wb:utf-8') do |csv|
|
35
|
+
csv << %w[国际化key 中文 英文 原字符 所在文件 文件路径]
|
36
|
+
@cn_keys.each do |k|
|
37
|
+
csv << [k[:key], k[:cn], k[:en], k[:str], k[:fname], k[:dirname]]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
UI.puts "生成csv文件完成.\n文件路径:#{File.absolute_path(file)}".green
|
41
|
+
end
|
42
|
+
|
43
|
+
def handle_files
|
44
|
+
Dir.glob("#{@current_path}/**/*.{#{@file_type}}").each do |f|
|
45
|
+
handle_file f
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def handle_file(file)
|
50
|
+
File.open(file, 'r') do |f|
|
51
|
+
f.each_line do |line|
|
52
|
+
handle_line(file, line) if line =~ /@"[^"]*[\u4e00-\u9fa5]+[^"]*"/
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def handle_line(file, line)
|
58
|
+
reg = /@"[^"]*[\u4e00-\u9fa5]+[^"]*"/
|
59
|
+
ma = reg.match(line)
|
60
|
+
str = ma[0]
|
61
|
+
key = "#{File.basename(file, '.*')}.#{rand(36**8).to_s(36)}"
|
62
|
+
@cn_keys << { key: key, cn: str[2, str.length - 3], en: '', str: str, dirname: File.dirname(file),
|
63
|
+
fname: File.basename(file) }
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,178 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'csv'
|
4
|
+
require 'cocoapods-lhj-bin/helpers/trans_helper'
|
5
|
+
|
6
|
+
module Pod
|
7
|
+
class Command
|
8
|
+
class Bin < Command
|
9
|
+
class Local < Bin
|
10
|
+
self.summary = '根据中英文对照csv文件,生成国际化配置, 及批量更新源码(使用国际化写法)'
|
11
|
+
|
12
|
+
def self.options
|
13
|
+
[
|
14
|
+
%w[--key-col 国际化key在csv中第几列,默认为0],
|
15
|
+
%w[--cn-col 中文在csv中第几列,默认为1],
|
16
|
+
%w[--en-col 英文在csv中第几列,默认为2],
|
17
|
+
%w[--csv-file csv文件名,默认为当前目录下所有csv文件],
|
18
|
+
%w[--gen-file 生成配置文件名,默认名为: Localizable.strings],
|
19
|
+
%w[--modify-source 修改源码,使用国际化key代替中文字符串],
|
20
|
+
%w[--modify-file-type 需要修改源码的文件类型,默认为m,h],
|
21
|
+
%w[--modify-format-string 修改为国际化后的字符格式,默认为NSLocalizedString(%s, @"")]
|
22
|
+
]
|
23
|
+
end
|
24
|
+
|
25
|
+
def initialize(argv)
|
26
|
+
@current_path = argv.shift_argument || Dir.pwd
|
27
|
+
@key_col = argv.option('key-col', 0).to_i
|
28
|
+
@cn_col = argv.option('cn-col', 1).to_i
|
29
|
+
@en_col = argv.option('en-col', 2).to_i
|
30
|
+
@csv_file = argv.option('csv-file', '*')
|
31
|
+
@gen_file_name = argv.option('gen-file', 'Localizable.strings')
|
32
|
+
@modify_source_flag = argv.flag?('modify-source', false)
|
33
|
+
@modify_file_type = argv.option('modify-file-type', 'm,h')
|
34
|
+
@modify_format_string = argv.option('modify-format-string', 'NSLocalizedString(%s, @"")')
|
35
|
+
@key_map = {}
|
36
|
+
@cn_key_map = {}
|
37
|
+
super
|
38
|
+
end
|
39
|
+
|
40
|
+
def run
|
41
|
+
read_csv_file
|
42
|
+
if @key_map.keys.length.positive?
|
43
|
+
write_en_strings
|
44
|
+
write_zh_cn_strings
|
45
|
+
write_zh_hk_strings
|
46
|
+
handle_modify_source if @modify_source_flag
|
47
|
+
else
|
48
|
+
UI.puts "获取中英文映射文件失败, 检查参数--csv-file=xx是否正常\n".red
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def en_dir_name
|
53
|
+
'en.lproj'
|
54
|
+
end
|
55
|
+
|
56
|
+
def zh_hk_dir_name
|
57
|
+
'zh-hk.lproj'
|
58
|
+
end
|
59
|
+
|
60
|
+
def zh_cn_dir_name
|
61
|
+
'zh-cn.lproj'
|
62
|
+
end
|
63
|
+
|
64
|
+
def generate_file_name
|
65
|
+
@gen_file_name
|
66
|
+
end
|
67
|
+
|
68
|
+
def handle_modify_source
|
69
|
+
UI.puts '开始修改源码开始'
|
70
|
+
Dir.glob("#{@current_path}/**/*.{#{@modify_file_type}}").each do |f|
|
71
|
+
handle_modify_file f if File.stat(f).writable?
|
72
|
+
end
|
73
|
+
UI.puts '开始修改源码结束'
|
74
|
+
end
|
75
|
+
|
76
|
+
def handle_modify_file(file)
|
77
|
+
str = modify_file_string(file)
|
78
|
+
File.open(file, 'w+') do |f|
|
79
|
+
f.write(str)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def modify_file_string(file)
|
84
|
+
str = ''
|
85
|
+
File.open(file, 'r') do |f|
|
86
|
+
f.each_line do |line|
|
87
|
+
str += modify_format_string(f, line)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
str
|
91
|
+
end
|
92
|
+
|
93
|
+
def modify_format_string(file, line)
|
94
|
+
result = line
|
95
|
+
result = handle_modify_line line if line =~ /@"[^"]*[\u4e00-\u9fa5]+[^"]*"/
|
96
|
+
result
|
97
|
+
end
|
98
|
+
|
99
|
+
def handle_modify_line(line)
|
100
|
+
result = line
|
101
|
+
reg = /@"[^"]*[\u4e00-\u9fa5]+[^"]*"/
|
102
|
+
ma = reg.match(line)
|
103
|
+
key = find_key_by_cn_val(ma[0])
|
104
|
+
if key
|
105
|
+
val = format(@modify_format_string, "@\"#{key}\"")
|
106
|
+
result = line.gsub(ma[0], val)
|
107
|
+
end
|
108
|
+
result
|
109
|
+
end
|
110
|
+
|
111
|
+
def find_key_by_cn_val(val)
|
112
|
+
cn_key = val[2, val.length - 3]
|
113
|
+
@cn_key_map[cn_key]
|
114
|
+
end
|
115
|
+
|
116
|
+
def read_csv_file
|
117
|
+
path = "#{@current_path}/#{@csv_file}.csv"
|
118
|
+
Dir.glob(path).each do |p|
|
119
|
+
CSV.foreach(p) do |row|
|
120
|
+
key = row[@key_col]
|
121
|
+
unless key =~ /[\u4e00-\u9fa5]/
|
122
|
+
@key_map[key] = { zh: row[@cn_col], en: row[@en_col] }
|
123
|
+
@cn_key_map[row[@cn_col]] = key
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
def format_str(type, area = :cn)
|
130
|
+
str = ''
|
131
|
+
@key_map.each do |k, v|
|
132
|
+
val = v[type]
|
133
|
+
case area
|
134
|
+
when :hk
|
135
|
+
val = CBin::Trans::Helper.instance.trans_zh_hk_str val
|
136
|
+
when :cn
|
137
|
+
val = CBin::Trans::Helper.instance.trans_zh_cn_str val
|
138
|
+
end
|
139
|
+
str += "\"#{k}\" = \"#{val}\";\n"
|
140
|
+
end
|
141
|
+
str
|
142
|
+
end
|
143
|
+
|
144
|
+
def write_to_file(file, contents)
|
145
|
+
FileUtils.rm_rf(file) if File.exist?(file)
|
146
|
+
FileUtils.mkdir_p(File.dirname(file)) unless File.exist?(File.dirname(file))
|
147
|
+
File.open(file, 'w+') do |f|
|
148
|
+
f.write(contents)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
def generate_file(file, type)
|
153
|
+
content = format_str(type)
|
154
|
+
write_to_file(file, content)
|
155
|
+
end
|
156
|
+
|
157
|
+
def write_en_strings
|
158
|
+
file = File.join(@current_path, en_dir_name, generate_file_name)
|
159
|
+
generate_file(file, :en)
|
160
|
+
UI.puts "生成英文配置完成.文件路径:#{File.absolute_path(file)}\n".green
|
161
|
+
end
|
162
|
+
|
163
|
+
def write_zh_cn_strings
|
164
|
+
file = File.join(@current_path, zh_cn_dir_name, generate_file_name)
|
165
|
+
generate_file(file, :zh)
|
166
|
+
UI.puts "生成简体中文配置完成.文件路径:#{File.absolute_path(file)}\n".green
|
167
|
+
end
|
168
|
+
|
169
|
+
def write_zh_hk_strings
|
170
|
+
file = File.join(@current_path, zh_hk_dir_name, generate_file_name)
|
171
|
+
content = format_str(:zh, :hk)
|
172
|
+
write_to_file(file, content)
|
173
|
+
UI.puts "生成繁体中文配置完成.文件路径:#{File.absolute_path(file)}\n".green
|
174
|
+
end
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'cocoapods-lhj-bin/helpers/oss_helper'
|
3
|
+
|
4
|
+
module Pod
|
5
|
+
class Command
|
6
|
+
class Bin < Command
|
7
|
+
class OSS < Bin
|
8
|
+
class Del < OSS
|
9
|
+
self.summary = '删除OSS的key'
|
10
|
+
|
11
|
+
self.arguments = [
|
12
|
+
CLAide::Argument.new('--key=XX', true)
|
13
|
+
]
|
14
|
+
|
15
|
+
def self.options
|
16
|
+
[
|
17
|
+
['--key', 'OSS对应的key']
|
18
|
+
]
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(argv)
|
22
|
+
@key = argv.option('key')
|
23
|
+
super
|
24
|
+
end
|
25
|
+
|
26
|
+
def validate!
|
27
|
+
help! "请输入key" unless @key
|
28
|
+
super
|
29
|
+
end
|
30
|
+
|
31
|
+
def run
|
32
|
+
CBin::OSS::Helper.instance.delete(@key)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'cocoapods-lhj-bin/helpers/oss_helper'
|
3
|
+
|
4
|
+
module Pod
|
5
|
+
class Command
|
6
|
+
class Bin < Command
|
7
|
+
class OSS < Bin
|
8
|
+
class List < OSS
|
9
|
+
self.summary = '查看OSS列表'
|
10
|
+
|
11
|
+
def initialize(argv)
|
12
|
+
super
|
13
|
+
end
|
14
|
+
|
15
|
+
def run
|
16
|
+
objects = CBin::OSS::Helper.instance.list
|
17
|
+
objects.each do |o|
|
18
|
+
path = "#{CBin::OSS::Helper.instance.url_path}/#{o.key}"
|
19
|
+
UI.puts path.green
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'cocoapods-lhj-bin/helpers/trans_helper'
|
3
|
+
|
4
|
+
module Pod
|
5
|
+
class Command
|
6
|
+
class Bin < Command
|
7
|
+
class Trans < Bin
|
8
|
+
self.summary = '源码中的简繁体转换'
|
9
|
+
|
10
|
+
def self.options
|
11
|
+
[
|
12
|
+
%w[--file-type 文件扩展名,默认为m,h,pch,xib],
|
13
|
+
%w[--zh-cn 转成简体中文,默认转成繁体]
|
14
|
+
]
|
15
|
+
end
|
16
|
+
|
17
|
+
def initialize(argv)
|
18
|
+
@current_path = argv.shift_argument || Dir.pwd
|
19
|
+
@file_type = argv.option('file-type', 'm,h,pch,xib')
|
20
|
+
@zh_cn = argv.flag?('zh-cn', false)
|
21
|
+
super
|
22
|
+
end
|
23
|
+
|
24
|
+
def run
|
25
|
+
handler_files
|
26
|
+
end
|
27
|
+
|
28
|
+
def handler_files
|
29
|
+
Dir.glob("#{@current_path}/**/*.{#{@file_type}}").each do |f|
|
30
|
+
handler_file f
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def handler_file(file)
|
35
|
+
str = format_file_string(file)
|
36
|
+
File.open(file, 'w+') do |f|
|
37
|
+
f.write(str)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def format_file_string(file)
|
42
|
+
str = ''
|
43
|
+
File.open(file, 'r+') do |f|
|
44
|
+
f.each_line do |line|
|
45
|
+
str += format_line_string(line)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
str
|
49
|
+
end
|
50
|
+
|
51
|
+
def format_line_string(line)
|
52
|
+
result = line
|
53
|
+
if line =~ /[\u4e00-\u9fa5]/
|
54
|
+
result = CBin::Trans::Helper.instance.trans_zh_cn_str(line) if @zh_cn
|
55
|
+
result = CBin::Trans::Helper.instance.trans_zh_hk_str(line) unless @zh_cn
|
56
|
+
end
|
57
|
+
result
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -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
|
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'aliyun/oss'
|
2
|
+
require 'cocoapods-lhj-bin/config/config'
|
3
|
+
|
4
|
+
module CBin
|
5
|
+
class OSS
|
6
|
+
class Helper
|
7
|
+
def initialize
|
8
|
+
@client = Aliyun::OSS::Client.new(endpoint: CBin.config.oss_endpoint,
|
9
|
+
access_key_id: CBin.config.oss_access_key_id,
|
10
|
+
access_key_secret: CBin.config.oss_access_key_secret)
|
11
|
+
@bucket = @client.get_bucket(CBin.config.oss_bucket)
|
12
|
+
end
|
13
|
+
|
14
|
+
def url_path
|
15
|
+
"http://#{CBin.config.oss_bucket}.#{CBin.config.oss_endpoint}"
|
16
|
+
end
|
17
|
+
|
18
|
+
def upload(key, file)
|
19
|
+
@bucket.put_object(key, :file => file)
|
20
|
+
end
|
21
|
+
|
22
|
+
def list
|
23
|
+
@bucket.list_objects
|
24
|
+
end
|
25
|
+
|
26
|
+
def delete(key)
|
27
|
+
@bucket.delete_object(key)
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.instance
|
31
|
+
@instance ||= new
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -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
|
@@ -0,0 +1,50 @@
|
|
1
|
+
|
2
|
+
module CBin
|
3
|
+
class Trans
|
4
|
+
class Helper
|
5
|
+
|
6
|
+
def self.instance
|
7
|
+
@instance ||= new
|
8
|
+
end
|
9
|
+
|
10
|
+
def yaml_file
|
11
|
+
File.join(Pod::Config.instance.home_dir, 'zh2hant.yml')
|
12
|
+
end
|
13
|
+
|
14
|
+
def load_trans_map
|
15
|
+
require 'yaml'
|
16
|
+
down_load_yaml unless File.exist?(yaml_file)
|
17
|
+
contents = YAML.safe_load(File.open(yaml_file))
|
18
|
+
contents.to_hash
|
19
|
+
end
|
20
|
+
|
21
|
+
def down_load_yaml
|
22
|
+
require 'open-uri'
|
23
|
+
UI.puts "开始下载简繁配置文件...\n"
|
24
|
+
URI.open('http://aomi-ios-repo.oss-cn-shenzhen.aliyuncs.com/zh2hant.yml') do |i|
|
25
|
+
File.open(yaml_file, 'w+') do |f|
|
26
|
+
f.write(i.read)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def trans_zh_cn_str(input)
|
32
|
+
@trans_map_invert ||= load_trans_map.invert
|
33
|
+
out = []
|
34
|
+
input.each_char do |c|
|
35
|
+
out << (@trans_map_invert[c] || c)
|
36
|
+
end
|
37
|
+
out.join('')
|
38
|
+
end
|
39
|
+
|
40
|
+
def trans_zh_hk_str(input)
|
41
|
+
@trans_map ||= load_trans_map
|
42
|
+
out = []
|
43
|
+
input.each_char do |c|
|
44
|
+
out << (@trans_map[c] || c)
|
45
|
+
end
|
46
|
+
out.join('')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'cocoapods-lhj-bin/helpers/oss_helper'
|
2
2
|
require 'cocoapods-lhj-bin/native/podfile'
|
3
3
|
require 'cocoapods/command/gen'
|
4
4
|
require 'cocoapods/generate'
|
@@ -17,8 +17,6 @@ module CBin
|
|
17
17
|
@spec = spec
|
18
18
|
@code_dependencies = code_dependencies
|
19
19
|
@sources = sources
|
20
|
-
@client = Aliyun::OSS::Client.new(endpoint: CBin.config.oss_endpoint, access_key_id: CBin.config.oss_access_key_id, access_key_secret: CBin.config.oss_access_key_secret )
|
21
|
-
@bucket = @client.get_bucket(CBin.config.oss_bucket)
|
22
20
|
end
|
23
21
|
|
24
22
|
def upload
|
@@ -73,7 +71,7 @@ EOF
|
|
73
71
|
res = File.exist?(zip_file)
|
74
72
|
end
|
75
73
|
if res
|
76
|
-
|
74
|
+
CBin::OSS::Helper.instance.upload("#{@spec.name}/#{@spec.version}/#{@spec.name}.zip", zip_file)
|
77
75
|
end
|
78
76
|
res
|
79
77
|
end
|
@@ -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.1.0
|
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-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cocoapods
|
@@ -109,16 +109,22 @@ files:
|
|
109
109
|
- lib/cocoapods-lhj-bin/command/bin/archive.rb
|
110
110
|
- lib/cocoapods-lhj-bin/command/bin/auto.rb
|
111
111
|
- lib/cocoapods-lhj-bin/command/bin/code.rb
|
112
|
+
- lib/cocoapods-lhj-bin/command/bin/config/push.rb
|
112
113
|
- lib/cocoapods-lhj-bin/command/bin/dup.rb
|
114
|
+
- lib/cocoapods-lhj-bin/command/bin/fetch.rb
|
113
115
|
- lib/cocoapods-lhj-bin/command/bin/import.rb
|
114
116
|
- lib/cocoapods-lhj-bin/command/bin/init.rb
|
115
117
|
- lib/cocoapods-lhj-bin/command/bin/initHotKey.rb
|
116
118
|
- lib/cocoapods-lhj-bin/command/bin/install.rb
|
117
119
|
- lib/cocoapods-lhj-bin/command/bin/lhj.rb
|
118
120
|
- lib/cocoapods-lhj-bin/command/bin/lib/lint.rb
|
121
|
+
- lib/cocoapods-lhj-bin/command/bin/local.rb
|
122
|
+
- lib/cocoapods-lhj-bin/command/bin/oss/del.rb
|
123
|
+
- lib/cocoapods-lhj-bin/command/bin/oss/list.rb
|
119
124
|
- lib/cocoapods-lhj-bin/command/bin/repo/update.rb
|
120
125
|
- lib/cocoapods-lhj-bin/command/bin/spec/create.rb
|
121
126
|
- lib/cocoapods-lhj-bin/command/bin/spec/push.rb
|
127
|
+
- lib/cocoapods-lhj-bin/command/bin/trans.rb
|
122
128
|
- lib/cocoapods-lhj-bin/command/bin/update.rb
|
123
129
|
- lib/cocoapods-lhj-bin/config/config.rb
|
124
130
|
- lib/cocoapods-lhj-bin/config/config_asker.rb
|
@@ -134,10 +140,12 @@ files:
|
|
134
140
|
- lib/cocoapods-lhj-bin/helpers/framework_builder.rb
|
135
141
|
- lib/cocoapods-lhj-bin/helpers/library.rb
|
136
142
|
- lib/cocoapods-lhj-bin/helpers/library_builder.rb
|
143
|
+
- lib/cocoapods-lhj-bin/helpers/oss_helper.rb
|
137
144
|
- lib/cocoapods-lhj-bin/helpers/sources_helper.rb
|
138
145
|
- lib/cocoapods-lhj-bin/helpers/spec_creator.rb
|
139
146
|
- lib/cocoapods-lhj-bin/helpers/spec_files_helper.rb
|
140
147
|
- lib/cocoapods-lhj-bin/helpers/spec_source_creator.rb
|
148
|
+
- lib/cocoapods-lhj-bin/helpers/trans_helper.rb
|
141
149
|
- lib/cocoapods-lhj-bin/helpers/upload_helper.rb
|
142
150
|
- lib/cocoapods-lhj-bin/native.rb
|
143
151
|
- lib/cocoapods-lhj-bin/native/acknowledgements.rb
|