fir-cli 1.2.0 → 1.2.1
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/README.md +45 -29
- data/fir-cli.gemspec +2 -2
- data/lib/fir/cli.rb +3 -1
- data/lib/fir/util/mapping.rb +12 -6
- data/lib/fir/util/parser.rb +1 -1
- data/lib/fir/version.rb +1 -1
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9aee1888db369ab39529842d3d3ddb39f6e6ad20
|
4
|
+
data.tar.gz: 7c171e7eb00066008f1742154a0ba39ef66fe4cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1373d866a5fb18374e29ae3f0ae8e9e94a73b08d750d310a38c74fd26f961a9e0c8dda7ab491c1f3b1e9ad8bcde4024bf48d12eecc4257ddb4ae8faadabf5d1f
|
7
|
+
data.tar.gz: 46095a637cf33ceab9df0d03452a39fb04efa342e3072a8bed2808f2f745866b9043b2bc30758b500ee05233223df9e15302632c452b09b2f0c30a147e0a4b03
|
data/CHANGELOG
CHANGED
data/README.md
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
FIR.im CLI
|
2
2
|
---
|
3
3
|
|
4
|
+
|
4
5
|

|
5
6
|
[](https://codeclimate.com/github/FIRHQ/fir-cli)
|
6
7
|
[](https://codeclimate.com/github/FIRHQ/fir-cli/coverage)
|
7
8
|
[](http://badge.fury.io/rb/fir-cli)
|
9
|
+
[](https://gitter.im/FIRHQ/fir-cli?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
8
10
|
|
9
11
|
> FIR.im CLI 可以通过指令查看, 上传, 编译应用
|
10
12
|
|
@@ -37,18 +39,19 @@ sudo gem install fir-cli
|
|
37
39
|
```shell
|
38
40
|
$ fir
|
39
41
|
Commands:
|
40
|
-
fir
|
42
|
+
fir build_apk BUILD_DIR # Build Android app (alias: 'ba').
|
43
|
+
fir build_ipa BUILD_DIR [options] [settings] # Build iOS app (alias: 'bi').
|
41
44
|
fir help # Describe available commands or one specific command.
|
42
45
|
fir info APP_FILE_PATH # Show iOS/Android app's info, support ipa/apk file (aliases: 'i').
|
43
46
|
fir login # Login FIR.im (aliases: 'l').
|
44
47
|
fir mapping MAPPING_FILE_PATH # Upload app's mapping file to BugHD.com (aliases: 'm').
|
45
|
-
fir me # Show current user info if user is logined
|
48
|
+
fir me # Show current user info if user is logined.
|
46
49
|
fir publish APP_FILE_PATH # Publish iOS/Android app to FIR.im, support ipa/apk file (aliases: 'p').
|
47
50
|
fir upgrade # Upgrade FIR-CLI and quit (aliases: u).
|
48
51
|
fir version # Show FIR-CLI version number and quit (aliases: v)
|
49
52
|
|
50
53
|
Options:
|
51
|
-
-T, [--token=TOKEN] # User's
|
54
|
+
-T, [--token=TOKEN] # User's API Token at FIR.im
|
52
55
|
-L, [--logfile=LOGFILE] # Path to writable logfile
|
53
56
|
-V, [--verbose], [--no-verbose] # Show verbose
|
54
57
|
# Default: true
|
@@ -76,14 +79,15 @@ $ fir p path/to/application -T YOUR_FIR_TOKEN
|
|
76
79
|
如果在此之前, 已经使用 `fir login` 命令登录过, 则可省略 `-T` 参数
|
77
80
|
|
78
81
|
```shell
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
82
|
+
I, [2015-08-26T10:08:35.447209 #6774] INFO -- : Publishing app.......
|
83
|
+
I, [2015-08-26T10:08:35.447334 #6774] INFO -- : ✈ -------------------------------------------- ✈
|
84
|
+
I, [2015-08-26T10:08:35.514378 #6774] INFO -- : Fetching xxxx@FIR.im uploading info......
|
85
|
+
I, [2015-08-26T10:08:35.692616 #6774] INFO -- : Uploading app......
|
86
|
+
I, [2015-08-26T10:08:36.920226 #6774] INFO -- : Updating devices info......
|
87
|
+
I, [2015-08-26T10:08:37.075149 #6774] INFO -- : ✈ -------------------------------------------- ✈
|
88
|
+
I, [2015-08-26T10:08:37.075238 #6774] INFO -- : Fetch app info from FIR.im
|
89
|
+
I, [2015-08-26T10:08:37.235071 #6774] INFO -- : Published succeed: http://fir.im/xxxx
|
90
|
+
I, [2015-08-26T10:08:37.235155 #6774] INFO -- :
|
87
91
|
```
|
88
92
|
|
89
93
|
### 方便一点
|
@@ -97,9 +101,10 @@ $ fir l
|
|
97
101
|
这时系统会提示输入用户 token, 用户 token 可在 **[这里](http://fir.im/user/info)** 查看
|
98
102
|
|
99
103
|
```shell
|
100
|
-
|
101
|
-
|
102
|
-
|
104
|
+
Please enter your FIR.im API Token:
|
105
|
+
I, [2015-08-26T10:10:28.235295 #6833] INFO -- : Login succeed, previous user's email: xxx@xxx.com
|
106
|
+
I, [2015-08-26T10:10:28.245083 #6833] INFO -- : Login succeed, current user's email: xxx@xxx.com
|
107
|
+
I, [2015-08-26T10:10:28.245152 #6833] INFO -- :
|
103
108
|
```
|
104
109
|
|
105
110
|
### 编译并获得 ipa
|
@@ -107,11 +112,14 @@ $ fir l
|
|
107
112
|
|
108
113
|
```
|
109
114
|
$ fir build_ipa path/to/project -o path/to/output
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
+
I, [2015-08-26T10:11:12.105103 #7167] INFO -- : Building......
|
116
|
+
I, [2015-08-26T10:11:12.105175 #7167] INFO -- : ✈ -------------------------------------------- ✈
|
117
|
+
I, [2015-08-26T10:11:18.500887 #7167] INFO -- : Build settings from command line:
|
118
|
+
|
119
|
+
..........
|
120
|
+
|
121
|
+
I, [2015-08-26T10:11:18.535498 #7167] INFO -- : Build Success
|
122
|
+
I, [2015-08-26T10:11:18.535704 #7167] INFO -- :
|
115
123
|
```
|
116
124
|
|
117
125
|
### 复杂一点
|
@@ -139,16 +147,24 @@ $ fir ba path/to/project
|
|
139
147
|
|
140
148
|
```shell
|
141
149
|
$ fir build_ipa path/to/project -o path/to/output -p -T YOUR_FIR_TOKEN
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
150
|
+
I, [2015-08-26T10:11:59.687221 #7273] INFO -- : Building......
|
151
|
+
I, [2015-08-26T10:11:59.687301 #7273] INFO -- : ✈ -------------------------------------------- ✈
|
152
|
+
I, [2015-08-26T10:12:00.868774 #7273] INFO -- : Build settings from command line:
|
153
|
+
|
154
|
+
..........
|
155
|
+
|
156
|
+
I, [2015-08-26T10:12:00.893819 #7273] INFO -- : Build Success
|
157
|
+
I, [2015-08-26T10:12:00.894051 #7273] INFO -- :
|
158
|
+
I, [2015-08-26T10:12:01.026832 #7273] INFO -- : Publishing app.......
|
159
|
+
I, [2015-08-26T10:12:01.026905 #7273] INFO -- : ✈ -------------------------------------------- ✈
|
160
|
+
I, [2015-08-26T10:12:01.098759 #7273] INFO -- : Fetching im.fir.OnlyiPad@FIR.im uploading info......
|
161
|
+
I, [2015-08-26T10:12:01.249832 #7273] INFO -- : Uploading app......
|
162
|
+
I, [2015-08-26T10:12:01.859718 #7273] INFO -- : Updating devices info......
|
163
|
+
I, [2015-08-26T10:12:02.015517 #7273] INFO -- : ✈ -------------------------------------------- ✈
|
164
|
+
I, [2015-08-26T10:12:02.015588 #7273] INFO -- : Fetch app info from FIR.im
|
165
|
+
I, [2015-08-26T10:12:02.210391 #7273] INFO -- : Published succeed: http://fir.im/xxxx
|
166
|
+
I, [2015-08-26T10:12:02.210459 #7273] INFO -- :
|
167
|
+
I, [2015-08-26T10:12:02.210520 #7273] INFO -- :
|
152
168
|
```
|
153
169
|
|
154
170
|
### 上传符号表
|
data/fir-cli.gemspec
CHANGED
@@ -28,12 +28,12 @@ Gem::Specification.new do |spec|
|
|
28
28
|
/_/ /___/_/ |_| \____/_____/___/
|
29
29
|
|
30
30
|
## 更新记录
|
31
|
-
### FIR-CLI 1.2.
|
31
|
+
### FIR-CLI 1.2.1
|
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 两种格式的符号表文件上传, 并自动处理大文件压缩)
|
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/cli.rb
CHANGED
@@ -27,7 +27,7 @@ module FIR
|
|
27
27
|
method_option :scheme, type: :string, aliases: "-S", desc: "Set the scheme NAME if build workspace"
|
28
28
|
method_option :configuration, type: :string, aliases: "-C", desc: "Use the build configuration NAME for building each target"
|
29
29
|
method_option :target, type: :string, aliases: "-t", desc: "Build the target specified by targetname"
|
30
|
-
method_option :output, type: :string, aliases: "-o", desc: "IPA output path, the default is: BUILD_DIR/
|
30
|
+
method_option :output, type: :string, aliases: "-o", desc: "IPA output path, the default is: BUILD_DIR/fir_build_ipa"
|
31
31
|
method_option :name, type: :string, aliases: "-n", desc: "IPA name, the default is: YOUR PROJECT NAME"
|
32
32
|
method_option :publish, type: :boolean, aliases: "-p", desc: "true/false if publish to FIR.im"
|
33
33
|
method_option :short, type: :string, aliases: "-s", desc: "Set custom short link if publish to FIR.im"
|
@@ -129,6 +129,7 @@ module FIR
|
|
129
129
|
map "u" => :upgrade
|
130
130
|
def upgrade
|
131
131
|
prepare :upgrade
|
132
|
+
|
132
133
|
say "✈ Upgrade FIR-CLI (use `gem install fir-cli --no-ri --no-rdoc`)"
|
133
134
|
say `gem install fir-cli --no-ri --no-rdoc`
|
134
135
|
end
|
@@ -149,6 +150,7 @@ module FIR
|
|
149
150
|
def invoke_command command, *args
|
150
151
|
logfile = options[:logfile].blank? ? STDOUT : options[:logfile]
|
151
152
|
logfile = '/dev/null' if options[:quiet]
|
153
|
+
|
152
154
|
FIR.logger = Logger.new(logfile)
|
153
155
|
FIR.logger.level = options[:verbose] ? Logger::INFO : Logger::ERROR
|
154
156
|
super
|
data/lib/fir/util/mapping.rb
CHANGED
@@ -34,7 +34,7 @@ module FIR
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def upload_mapping_file
|
37
|
-
tmp_file_path =
|
37
|
+
tmp_file_path = generate_temp_mapping_file
|
38
38
|
|
39
39
|
url = bughd_api[:full_version_url] + "/#{@full_version[:id]}"
|
40
40
|
patch url, file: File.new(tmp_file_path, 'rb'), project_id: @proj, uuid: uuid
|
@@ -53,24 +53,30 @@ module FIR
|
|
53
53
|
@uuid ||= fetch_user_uuid(@token)
|
54
54
|
end
|
55
55
|
|
56
|
-
def
|
56
|
+
def generate_temp_mapping_file
|
57
57
|
tmp_file_path = "#{Dir.tmpdir}/#{File.basename(@file_path)}-fircli"
|
58
58
|
FileUtils.cp(@file_path, tmp_file_path)
|
59
59
|
|
60
|
-
|
60
|
+
tmp_file_path = zip_mapping_file(tmp_file_path)
|
61
|
+
tmp_file_path = dsym_or_txt_file(tmp_file_path)
|
61
62
|
|
62
|
-
|
63
|
+
tmp_file_path
|
64
|
+
end
|
63
65
|
|
64
|
-
|
66
|
+
def zip_mapping_file tmp_file_path
|
67
|
+
if File.size?(tmp_file_path) > 50*1000*1000
|
65
68
|
logger.info "Zipping mapping file......."
|
66
69
|
|
67
70
|
system("zip -qr #{tmp_file_path}.zip #{tmp_file_path}")
|
68
|
-
|
69
71
|
tmp_file_path = tmp_file_path + '.zip'
|
70
72
|
|
71
73
|
logger.info "Zipped Mapping file size - #{File.size?(tmp_file_path)}"
|
72
74
|
end
|
73
75
|
|
76
|
+
tmp_file_path
|
77
|
+
end
|
78
|
+
|
79
|
+
def dsym_or_txt_file tmp_file_path
|
74
80
|
if File.is_dsym?(@file_path)
|
75
81
|
FileUtils.mv(tmp_file_path, tmp_file_path + '.dSYM')
|
76
82
|
tmp_file_path = tmp_file_path + '.dSYM'
|
data/lib/fir/util/parser.rb
CHANGED
data/lib/fir/version.rb
CHANGED
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.2.
|
4
|
+
version: 1.2.1
|
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-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -181,15 +181,15 @@ metadata: {}
|
|
181
181
|
post_install_message: "\n ______________ ________ ____\n /
|
182
182
|
____/ _/ __ \\ / ____/ / / _/\n / /_ / // /_/ /_____/ / / / /
|
183
183
|
/\n / __/ _/ // _, _/_____/ /___/ /____/ /\n /_/ /___/_/ |_| \\____/_____/___/\n\n
|
184
|
-
\ ## 更新记录\n ### FIR-CLI 1.2.
|
184
|
+
\ ## 更新记录\n ### FIR-CLI 1.2.1\n - 完全兼容新版 API ✔\n - 请使用新版 API Token\n - 新版 API
|
185
185
|
Token 查看地址: `http://fir.im/user/info`\n - 增加符号表上传指令, `fir mapping(alias m)`\n -
|
186
|
-
有以下三种方式上传符号表(目前已经支持 dSYM
|
187
|
-
`fir m <mapping file path> -P <bughd project id> -v <app version> -b <app
|
188
|
-
-T <your api token>`\n - 2. 在 publish 的时候自动上传: `fir p <app file path>
|
189
|
-
file path> -P <bughd project id> -T <your api token>`\n - 3. 在 build_ipa
|
190
|
-
`fir b <project dir> -P <bughd project id> -M -p -T <your api token>`\n
|
191
|
-
打包 apk 文件并自动上传至 fir.im, `fir build_apk(alias ba)`\n - `fir ba <project
|
192
|
-
<apk output dir> -c <changelog> -p -T <your api token>]`\n - [fir-cli](https://github.com/FIRHQ/fir-cli)
|
186
|
+
有以下三种方式上传符号表(目前已经支持 dSYM 和 txt 两种格式的符号表文件上传, 并自动处理大文件压缩)\n - 1. 指定 version 和
|
187
|
+
build 上传: `fir m <mapping file path> -P <bughd project id> -v <app version> -b <app
|
188
|
+
build> -T <your api token>`\n - 2. 在 publish 的时候自动上传: `fir p <app file path>
|
189
|
+
-m <mapping file path> -P <bughd project id> -T <your api token>`\n - 3. 在 build_ipa
|
190
|
+
的时候自动上传: `fir b <project dir> -P <bughd project id> -M -p -T <your api token>`\n
|
191
|
+
\ - 支持 gradle 打包 apk 文件并自动上传至 fir.im, `fir build_apk(alias ba)`\n - `fir ba <project
|
192
|
+
dir> [-o <apk output dir> -c <changelog> -p -T <your api token>]`\n - [fir-cli](https://github.com/FIRHQ/fir-cli)
|
193
193
|
已经开源, 欢迎 fork, issue 和 pull request\n "
|
194
194
|
rdoc_options: []
|
195
195
|
require_paths:
|