fir-cli 1.1.9 → 1.2.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/CHANGELOG +3 -0
- data/fir-cli.gemspec +2 -2
- data/lib/fir/util/build_ipa.rb +9 -11
- data/lib/fir/util/mapping.rb +31 -10
- data/lib/fir/version.rb +1 -1
- data/test/mapping_test.rb +1 -0
- data/test/test_helper.rb +4 -0
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85cb3f2688de5e0dd74a001f357796100a54d6c8
|
4
|
+
data.tar.gz: eae5c2263e4feffdc6a19481f85a617e97359e91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1166ed1b1795df22622890b833fca45deb94be99bd476864725245c272958413ad79bdeaab2c5e3b9966750ca641c809f53928102df60e0c9597c2d7aa7d24c
|
7
|
+
data.tar.gz: 68d673c6d73dea305ff54dafe6c37f875893ee0e78f205a258522ddcaafec10c773337235c4a58087a7fb8c77416ba2fe1997a1d63bcfd86e8014b16779a698e
|
data/CHANGELOG
CHANGED
data/fir-cli.gemspec
CHANGED
@@ -28,12 +28,12 @@ Gem::Specification.new do |spec|
|
|
28
28
|
/_/ /___/_/ |_| \____/_____/___/
|
29
29
|
|
30
30
|
## 更新记录
|
31
|
-
### FIR-CLI 1.
|
31
|
+
### FIR-CLI 1.2.0
|
32
32
|
- 完全兼容新版 API ✔
|
33
33
|
- 请使用新版 API Token
|
34
34
|
- 新版 API Token 查看地址: `http://fir.im/user/info`
|
35
35
|
- 增加符号表上传指令, `fir mapping(alias m)`
|
36
|
-
- 有以下三种方式上传符号表(目前已经支持 dSYM 和
|
36
|
+
- 有以下三种方式上传符号表(目前已经支持 dSYM, txt 和 zip 三种格式的符号表文件上传)
|
37
37
|
- 1. 指定 version 和 build 上传: `fir m <mapping file path> -P <bughd project id> -v <app version> -b <app build> -T <your api token>`
|
38
38
|
- 2. 在 publish 的时候自动上传: `fir p <app file path> -m <mapping file path> -P <bughd project id> -T <your api token>`
|
39
39
|
- 3. 在 build_ipa 的时候自动上传: `fir b <project dir> -P <bughd project id> -M -p -T <your api token>`
|
data/lib/fir/util/build_ipa.rb
CHANGED
@@ -134,18 +134,16 @@ module FIR
|
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
k, v = setting.split('=', 2).map(&:strip)
|
144
|
-
hash[k] = v
|
145
|
-
end
|
146
|
-
|
147
|
-
hash
|
137
|
+
# convert ['a=1', 'b=2'] => { 'a' => '1', 'b' => '2' }
|
138
|
+
def parse_ipa_custom_settings args
|
139
|
+
hash = {}
|
140
|
+
args.each do |setting|
|
141
|
+
k, v = setting.split('=', 2).map(&:strip)
|
142
|
+
hash[k] = v
|
148
143
|
end
|
149
144
|
|
145
|
+
hash
|
146
|
+
end
|
147
|
+
|
150
148
|
end
|
151
149
|
end
|
data/lib/fir/util/mapping.rb
CHANGED
@@ -20,9 +20,9 @@ module FIR
|
|
20
20
|
@full_version = find_or_create_bughd_full_version
|
21
21
|
|
22
22
|
logger.info "Uploading mapping file......."
|
23
|
-
logger_info_dividing_line
|
24
23
|
|
25
24
|
upload_mapping_file
|
25
|
+
logger_info_dividing_line
|
26
26
|
|
27
27
|
logger.info "Uploaded succeed: #{bughd_api[:domain]}/project/#{@proj}/settings"
|
28
28
|
logger_info_blank_line
|
@@ -34,15 +34,7 @@ module FIR
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def upload_mapping_file
|
37
|
-
|
38
|
-
tmp_file_path = "#{Dir.tmpdir}/#{File.basename(@file_path)}-fircli.dSYM"
|
39
|
-
FileUtils.cp(@file_path, tmp_file_path)
|
40
|
-
elsif File.is_txt?(@file_path)
|
41
|
-
tmp_file_path = "#{Dir.tmpdir}/#{File.basename(@file_path)}-fircli.txt"
|
42
|
-
FileUtils.cp(@file_path, tmp_file_path)
|
43
|
-
else
|
44
|
-
tmp_file_path = @file_path
|
45
|
-
end
|
37
|
+
tmp_file_path = rename_and_zip_mapping_file
|
46
38
|
|
47
39
|
url = bughd_api[:full_version_url] + "/#{@full_version[:id]}"
|
48
40
|
patch url, file: File.new(tmp_file_path, 'rb'), project_id: @proj, uuid: uuid
|
@@ -61,5 +53,34 @@ module FIR
|
|
61
53
|
@uuid ||= fetch_user_uuid(@token)
|
62
54
|
end
|
63
55
|
|
56
|
+
def rename_and_zip_mapping_file
|
57
|
+
tmp_file_path = "#{Dir.tmpdir}/#{File.basename(@file_path)}-fircli"
|
58
|
+
FileUtils.cp(@file_path, tmp_file_path)
|
59
|
+
|
60
|
+
mapping_file_size = File.size?(tmp_file_path)
|
61
|
+
|
62
|
+
logger.info "Mapping file size - #{mapping_file_size}"
|
63
|
+
|
64
|
+
if mapping_file_size > 50*1000*1000
|
65
|
+
logger.info "Zipping mapping file......."
|
66
|
+
|
67
|
+
system("zip -qr #{tmp_file_path}.zip #{tmp_file_path}")
|
68
|
+
|
69
|
+
tmp_file_path = tmp_file_path + '.zip'
|
70
|
+
|
71
|
+
logger.info "Zipped Mapping file size - #{File.size?(tmp_file_path)}"
|
72
|
+
end
|
73
|
+
|
74
|
+
if File.is_dsym?(@file_path)
|
75
|
+
FileUtils.mv(tmp_file_path, tmp_file_path + '.dSYM')
|
76
|
+
tmp_file_path = tmp_file_path + '.dSYM'
|
77
|
+
elsif File.is_txt?(@file_path)
|
78
|
+
FileUtils.mv(tmp_file_path, tmp_file_path + '.txt')
|
79
|
+
tmp_file_path = tmp_file_path + '.txt'
|
80
|
+
end
|
81
|
+
|
82
|
+
tmp_file_path
|
83
|
+
end
|
84
|
+
|
64
85
|
end
|
65
86
|
end
|
data/lib/fir/version.rb
CHANGED
data/test/mapping_test.rb
CHANGED
@@ -12,6 +12,7 @@ class MappingTest < Minitest::Test
|
|
12
12
|
if ENV['TEST_MAPPING']
|
13
13
|
assert FIR.mapping(default_dsym_mapping, options.merge(proj: default_bughd_project_ios_id))
|
14
14
|
assert FIR.mapping(default_txt_mapping, options.merge(proj: default_bughd_project_android_id))
|
15
|
+
assert FIR.mapping(bigger_txt_mapping, options.merge(proj: default_bughd_project_android_id))
|
15
16
|
end
|
16
17
|
end
|
17
18
|
end
|
data/test/test_helper.rb
CHANGED
@@ -51,6 +51,10 @@ class Minitest::Test
|
|
51
51
|
File.expand_path('../cases', __FILE__) + '/test_apk_txt'
|
52
52
|
end
|
53
53
|
|
54
|
+
def bigger_txt_mapping
|
55
|
+
File.expand_path('../projects', __FILE__) + '/biggggger.txt'
|
56
|
+
end
|
57
|
+
|
54
58
|
def default_device_udid
|
55
59
|
"cf8b87e3f469d7b185fd64c057778aecbc2017a6"
|
56
60
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fir-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- FIR.im
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-08-
|
12
|
+
date: 2015-08-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -181,12 +181,12 @@ metadata: {}
|
|
181
181
|
post_install_message: "\n ______________ ________ ____\n /
|
182
182
|
____/ _/ __ \\ / ____/ / / _/\n / /_ / // /_/ /_____/ / / / /
|
183
183
|
/\n / __/ _/ // _, _/_____/ /___/ /____/ /\n /_/ /___/_/ |_| \\____/_____/___/\n\n
|
184
|
-
\ ## 更新记录\n ### FIR-CLI 1.
|
184
|
+
\ ## 更新记录\n ### FIR-CLI 1.2.0\n - 完全兼容新版 API ✔\n - 请使用新版 API Token\n - 新版 API
|
185
185
|
Token 查看地址: `http://fir.im/user/info`\n - 增加符号表上传指令, `fir mapping(alias m)`\n -
|
186
|
-
有以下三种方式上传符号表(目前已经支持 dSYM 和
|
187
|
-
m <mapping file path> -P <bughd project id> -v <app version> -b <app build>
|
188
|
-
api token>`\n - 2. 在 publish 的时候自动上传: `fir p <app file path> -m <mapping
|
189
|
-
path> -P <bughd project id> -T <your api token>`\n - 3. 在 build_ipa 的时候自动上传:
|
186
|
+
有以下三种方式上传符号表(目前已经支持 dSYM, txt 和 zip 三种格式的符号表文件上传)\n - 1. 指定 version 和 build 上传:
|
187
|
+
`fir m <mapping file path> -P <bughd project id> -v <app version> -b <app build>
|
188
|
+
-T <your api token>`\n - 2. 在 publish 的时候自动上传: `fir p <app file path> -m <mapping
|
189
|
+
file path> -P <bughd project id> -T <your api token>`\n - 3. 在 build_ipa 的时候自动上传:
|
190
190
|
`fir b <project dir> -P <bughd project id> -M -p -T <your api token>`\n - 支持 gradle
|
191
191
|
打包 apk 文件并自动上传至 fir.im, `fir build_apk(alias ba)`\n - `fir ba <project dir> [-o
|
192
192
|
<apk output dir> -c <changelog> -p -T <your api token>]`\n - [fir-cli](https://github.com/FIRHQ/fir-cli)
|