fir-cli 1.4.8 → 1.4.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 27473f4f09804d0df210c601facda8cc44b863d7
4
- data.tar.gz: ba0632fd67774815f55b92b82396d4cb818c4aa5
3
+ metadata.gz: 90ae72f438cf6fd7875108bf55144186b7e1184c
4
+ data.tar.gz: d3f2953c56f666afa334469784324953c90b3c96
5
5
  SHA512:
6
- metadata.gz: 4e84960a168d32128f468e984e2814ede6a75187edff1698bc66907fe7aba142a9cb0b746c1b12b41c3bc1067834e4f7c0dcf8f6c9e8bd68986c224fd5290e09
7
- data.tar.gz: 75f5ed37ff32aaf5c94926db800c20cb0ff9efecf733acd70076a6faae2bdd3c8fab6e8e993fd43e0c7cf8d026925ce19ec639d2b99228b0a0932548518fcbe8
6
+ metadata.gz: 39166292c62f7f4cb9b619953097757fd8283750c506530369dacc59e535eafe8401b192393424e603927c231f30404ad579646c13ff6c10101c017b7ee2f3de
7
+ data.tar.gz: 8694694118ab6973cc8049d9a8fdac632743ec64a9822828baa086b010ee48d22333c90f6888a50dce94c2ec47576f11753db4660c62b3e716909da22c753d45
data/.gitignore CHANGED
@@ -3,7 +3,6 @@
3
3
  /Gemfile.lock
4
4
  /_yardoc/
5
5
  /coverage/
6
- /doc/
7
6
  /pkg/
8
7
  /spec/reports/
9
8
  /tmp/
data/CHANGELOG CHANGED
@@ -1,5 +1,8 @@
1
1
  ## 更新记录
2
2
 
3
+ ### fir-cli 1.4.9
4
+ - 修正 --password 与 --open 冲突的问题
5
+
3
6
  ### fir-cli 1.4.8
4
7
  - 修正 build 后直接 -p 发布的权限错误
5
8
 
data/README.md CHANGED
@@ -6,236 +6,23 @@
6
6
  [![Test Coverage](https://codeclimate.com/github/FIRHQ/fir-cli/badges/coverage.svg)](https://codeclimate.com/github/FIRHQ/fir-cli/coverage)
7
7
  [![Gem Version](https://badge.fury.io/rb/fir-cli.svg)](http://badge.fury.io/rb/fir-cli)
8
8
  [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/FIRHQ/fir-cli?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
9
+ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/FIRHQ/fir-cli/master/LICENSE.txt)
9
10
 
10
11
  fir.im-cli 可以通过指令查看, 上传, 编译 iOS/Android 应用.
11
12
 
12
13
  ![fir-cli](http://7rf35s.com1.z0.glb.clouddn.com/fir-cli-new.gif)
13
14
 
14
- ## 安装
15
+ ## 文档
15
16
 
16
- ### OS X 安装
17
-
18
- 在安装前需要确保 **OS X command line tools** 已经被提前安装好:
19
-
20
- ```sh
21
- $ xcode-select --install
22
- ```
23
-
24
- fir.im-cli 使用 Ruby 构建, 无需编译, 只要安装相应 ruby gem 即可(如果出现相关权限不足的错误, 请在命令行前加上 `sudo`):
25
-
26
- ```sh
27
- $ gem install fir-cli
28
- ```
29
-
30
- **注意: 如果你的系统是 Mac OS X 10.11 以后的版本, 由于10.11引入了 `rootless`, 无法直接安装 fir-cli, 有以下三种解决办法:**
31
-
32
- 1\. 使用 [Homebrew](http://brew.sh/) 及 [RVM](https://rvm.io/) 安装 Ruby, 再安装 fir-cli(推荐)
33
-
34
- ```sh
35
- # Install Homebrew:
36
- $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
37
-
38
- # Install RVM:
39
- $ \curl -sSL https://get.rvm.io | bash -s stable --ruby
40
-
41
- $ gem install fir-cli
42
- ```
43
-
44
- 2\. 指定 fir-cli 中 bin 文件的 PATH
45
-
46
- ```sh
47
- $ export PATH=/usr/local/bin:$PATH;gem install -n /usr/local/bin fir-cli
48
- ```
49
-
50
- 3\. 重写 Ruby Gem 的 bindir
51
-
52
- ```sh
53
- $ echo 'gem: --bindir /usr/local/bin' >> ~/.gemrc
54
- $ gem install fir-cli
55
- ```
56
-
57
- ### Linux 安装
58
-
59
- 需要提前安装好 Ruby 版本 > 1.9.3
60
-
61
- ```sh
62
- $ gem install fir-cli
63
- ```
64
-
65
- **注意: 如果出现 `ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)` 的错误, 请先更换 Ruby 的淘宝源(由于国内网络原因, 你懂的), 并升级下系统自带的 gem**
66
-
67
- ```sh
68
- $ gem sources --remove https://rubygems.org/
69
- $ gem sources -a https://ruby.taobao.org/
70
- $ gem sources -l
71
- *** CURRENT SOURCES ***
72
-
73
- https://ruby.taobao.org
74
- # 请确保只有 ruby.taobao.org, 如果有其他的源, 请 remove 掉
75
-
76
- gem update --system
77
- gem install fir-cli
78
- ```
79
-
80
- ## 使用说明
81
-
82
- ### fir help 使用说明
83
-
84
- `fir help` 命令不仅可以运行在 `fir` 主命令上, 还可以运行在相应子命令上查看相关的帮助
85
-
86
- ```sh
87
- $ fir help
88
- Commands:
89
- fir build_apk BUILD_DIR # Build Android app (alias: `ba`).
90
- fir build_ipa BUILD_DIR [options] [settings] # Build iOS app (alias: `bi`).
91
- fir help # Describe available commands or one specific command (aliases: `h`).
92
- fir info APP_FILE_PATH # Show iOS/Android app info, support ipa/apk file (aliases: `i`).
93
- fir login # Login fir.im (aliases: `l`).
94
- fir mapping MAPPING_FILE_PATH # Upload app mapping file to BugHD.com (aliases: `m`).
95
- fir me # Show current user info if user is logined.
96
- fir publish APP_FILE_PATH # Publish iOS/Android app to fir.im, support ipa/apk file (aliases: `...
97
- fir upgrade # Upgrade fir-cli and quit (aliases: `u`).
98
- fir version # Show fir-cli version number and quit (aliases: `v`).
99
-
100
- Options:
101
- -T, [--token=TOKEN] # User's API Token at fir.im
102
- -L, [--logfile=LOGFILE] # Path to writable logfile
103
- -V, [--verbose], [--no-verbose] # Show verbose
104
- # Default: true
105
- -q, [--quiet], [--no-quiet] # Silence commands
106
- -h, [--help], [--no-help] # Show this help message and quit
107
- ```
108
- #### 全局参数说明
109
-
110
- - `alias <short command>` 意味着可以用 alias 别名来代替该指令, 例如 `fir b`
111
- - `-T` 用户在 fir.im 上的 api_token
112
- - `-L` 指定 fir-cli 的输出 log, 默认为 STDOUT
113
- - `-V` Verbose, 默认为输出所有信息( INFO 和 ERROR), 如果设置 `--no-verbose`, 则只输出 ERROR 信息
114
- - `-q` 静默模式, 默认关闭
115
- - `-h` 查看相关命令帮助
116
-
117
- ### fir publish 使用说明
118
-
119
- fir publish 命令可以轻松发布应用到 fir.im, 支持 ipa 和 apk 文件.
120
-
121
- ```sh
122
- $ fir publish path/to/application -T YOUR_FIR_TOKEN
123
- ```
124
-
125
- 如果需要上传 changelog, 自定义 short 地址, 设置密码, 设置公开访问权限, 上传符号表, 生成二维码等功能, 可以使用 `fir publish -h`查看相应的帮助
126
-
127
- ### fir login 使用说明
128
-
129
- 如果觉得每次上传都输入 `-T` 很不方便, 那么可使用 `login` 命令
130
-
131
- ```sh
132
- $ fir login
133
- ```
134
-
135
- 这时系统会提示输入用户 API token, 用户的 API token 可在 **[这里](http://fir.im/apps/apitoken)** 的右上角查看
136
-
137
- ```sh
138
- Please enter your fir.im API Token:
139
- I, [2015-08-26T10:10:28.235295 #6833] INFO -- : Login succeed, previous user's email: xxx@xxx.com
140
- I, [2015-08-26T10:10:28.245083 #6833] INFO -- : Login succeed, current user's email: xxx@xxx.com
141
- I, [2015-08-26T10:10:28.245152 #6833] INFO -- :
142
- ```
143
-
144
- ### fir build 使用说明
145
-
146
- 该指令分为两个不同的指令, `build_ipa` 和 `build_apk`, 可以编译 ipa 及 apk 应用并上传到 fir.im
147
-
148
- #### 编译 ipa
149
-
150
- `build_ipa` 对 `xcodebuild` 原生指令进行了封装, 将常用的参数名简化, 支持全部的自带参数及设置, 同时输出符号表 dSYM 文件.
151
-
152
- 编译 project
153
-
154
- ```
155
- $ fir build_ipa path/to/project -o path/to/output
156
- ```
157
-
158
- 编译 workspace
159
-
160
- ```sh
161
- $ fir build_ipa path/to/workspace -o path/to/output -w -C Release -t allTargets GCC_PREPROCESSOR_DEFINITIONS="FOO=bar"
162
- ```
163
-
164
- 该指令在指向的目录中,找到第一个 workspace 文件,对其进行编译。使用 `Release` 设置,编译策略为 `allTargets`,同时设置了预编译参数 `FOO`。
165
-
166
- 编译用 CocoaPods 做依赖管理的 .ipa 包
167
-
168
- ```sh
169
- $ fir build_ipa path/to/workspace -w -S <scheme name>
170
- ```
171
-
172
- #### 编译用 Gradle 打包 apk
173
-
174
- ```sh
175
- # 简单打包
176
- $ fir build_apk path/to/project
177
-
178
- # 打包并上传
179
- $ fir ba <project dir> [-o <apk output dir> -c <changelog> -p -Q -T <your api token>]
180
-
181
- # 打包指定的 flavor
182
- $ fir ba <project dir> [-f <flavor> -o <apk output dir> -c <changelog> -p -Q -T <your api token>]
183
-
184
- # 打包指定的 git branch
185
- $ fir ba <git ssh url> [-B develop -o <apk output dir> -c <changelog> -p -Q -T <your api token>]
186
- ```
187
-
188
- #### 编译并且上传至 fir.im
189
-
190
- 只需要输入 `-p -T` 即可
191
-
192
- ```sh
193
- $ fir build_ipa/build_apk path/to/project -o path/to/output -p -T YOUR_FIR_TOKEN -c YOUR_CHANGELOG
194
- ```
195
-
196
- 如果需要更详细的使用说明, 可以使用 `fir build_ipa/build_apk -h`查看相应的帮助
197
-
198
- ### fir mapping 使用说明
199
-
200
- 该指令可以上传符号表至 [BugHD.com](http://bughd.com) 所对应的项目, 目前已经支持 dSYM 和 txt 两种格式的符号表文件上传, 有以下三种方法上传:
201
-
202
- > 指定 version 和 build 上传:
203
-
204
- ```sh
205
- $ fir m <mapping file path> -P <bughd project id> -v <app version> -b <app build> -T <your api token>
206
- ```
207
-
208
- > 在 publish 的时候自动上传:
209
-
210
- ```sh
211
- $ fir p <app file path> -m <mapping file path> -P <bughd project id> -T <your api token>
212
- ```
213
- > 在 build_ipa 的时候自动上传:
214
-
215
- ```sh
216
- $ fir b <project dir> -P <bughd project id> -M -p -T <your api token>
217
- ```
218
-
219
- 如果需要更详细的使用说明, 可以使用 `fir mapping -h`查看相应的帮助
220
-
221
- ### fir me 使用说明
222
-
223
- 该指令可以查看当前使用者
224
-
225
- ```sh
226
- $ fir me
227
- I, [2015-11-02T03:03:04.933645 #29886] INFO -- : Login succeed, current user's email: xxxx
228
- I, [2015-11-02T03:03:04.933756 #29886] INFO -- : Login succeed, current user's name: xxxx
229
- I, [2015-11-02T03:03:04.933787 #29886] INFO -- :
230
- ```
231
-
232
- ### fir upgrade 使用说明
233
-
234
- 该指令用于升级最新版本的 fir-cli
235
-
236
- ```sh
237
- $ fir upgrade
238
- ```
17
+ - [安装及常见安装问题](https://github.com/FIRHQ/fir-cli/blob/master/doc/install.md)
18
+ - [fir help 相关指令帮助](https://github.com/FIRHQ/fir-cli/blob/master/doc/help.md)
19
+ - [fir info 查看 ipa/apk 信息](https://github.com/FIRHQ/fir-cli/blob/master/doc/info.md)
20
+ - [fir login & fir me 登录相关](https://github.com/FIRHQ/fir-cli/blob/master/doc/login.md)
21
+ - [fir publish 发布应用到 fir.im](https://github.com/FIRHQ/fir-cli/blob/master/doc/publish.md)
22
+ - [fir build_ipa 编译打包 ipa 文件](https://github.com/FIRHQ/fir-cli/blob/master/doc/build_ipa.md)
23
+ - [fir build_apk 编译打包 apk 文件](https://github.com/FIRHQ/fir-cli/blob/master/doc/build_apk.md)
24
+ - [fir mapping 上传符号表至 BugHD.com](https://github.com/FIRHQ/fir-cli/blob/master/doc/mapping.md)
25
+ - [fir upgrade 升级相关](https://github.com/FIRHQ/fir-cli/blob/master/doc/upgrade.md)
239
26
 
240
27
  ## 提交反馈
241
28
 
@@ -247,3 +34,4 @@ $ fir upgrade
247
34
 
248
35
  ![](http://7rf35s.com1.z0.glb.clouddn.com/coffee.png)
249
36
 
37
+
data/doc/build_apk.md ADDED
@@ -0,0 +1,42 @@
1
+ #### fir build_apk
2
+
3
+ `fir build_apk` 指令用于编译用 Gradle 打包 apk, 并且支持直接从 Github/Gitlab 相关 repo 直接编译打包.
4
+
5
+ ```sh
6
+ fir build_apk --help
7
+ Usage:
8
+ fir build_apk BUILD_DIR
9
+
10
+ Options:
11
+ -B, [--branch=BRANCH] # Set branch if project is a git repo, the default is `master`
12
+ -o, [--output=OUTPUT] # APK output path, the default is: BUILD_DIR/build/outputs/apk
13
+ -p, [--publish], [--no-publish] # true/false if publish to fir.im
14
+ -f, [--flavor=FLAVOR] # Set flavor if have productFlavors
15
+ -s, [--short=SHORT] # Set custom short link if publish to fir.im
16
+ -n, [--name=NAME] # Set custom apk name when builded
17
+ -c, [--changelog=CHANGELOG] # Set changelog if publish to fir.im, support string/file
18
+ -Q, [--qrcode], [--no-qrcode] # Generate qrcode
19
+ [--open], [--no-open] # true/false if open for everyone, the default is: true
20
+ # Default: true
21
+ [--password=PASSWORD] # Set password for app
22
+ -T, [--token=TOKEN] # User's API Token at fir.im
23
+ -L, [--logfile=LOGFILE] # Path to writable logfile
24
+ -V, [--verbose], [--no-verbose] # Show verbose
25
+ # Default: true
26
+ -q, [--quiet], [--no-quiet] # Silence commands
27
+ -h, [--help], [--no-help] # Show this help message and quit
28
+ ```
29
+
30
+ ```sh
31
+ # 简单打包
32
+ $ fir build_apk path/to/project
33
+
34
+ # 打包并上传
35
+ $ fir ba <project dir> [-o <apk output dir> -c <changelog> -p -Q -T <your api token>]
36
+
37
+ # 打包指定的 flavor
38
+ $ fir ba <project dir> [-f <flavor> -o <apk output dir> -c <changelog> -p -Q -T <your api token>]
39
+
40
+ # 打包指定的 git branch
41
+ $ fir ba <git ssh url> [-B develop -o <apk output dir> -c <changelog> -p -Q -T <your api token>]
42
+ ```
data/doc/build_ipa.md ADDED
@@ -0,0 +1,57 @@
1
+ ### fir build_ipa
2
+
3
+ `fir build_ipa` 对 `xcodebuild` 原生指令进行了封装, 将常用的参数名简化, 支持全部的自带参数及设置, 同时输出符号表 dSYM 文件, 并且支持直接从 Github/Gitlab 相关 repo 直接编译打包.
4
+
5
+ ```sh
6
+ $ fir build_ipa --help
7
+ fir build_ipa --help
8
+ Usage:
9
+ fir build_ipa BUILD_DIR [options] [settings]
10
+
11
+ Options:
12
+ -B, [--branch=BRANCH] # Set branch if project is a git repo, the default is `master`
13
+ -w, [--workspace], [--no-workspace] # true/false if build workspace
14
+ -S, [--scheme=SCHEME] # Set the scheme NAME if build workspace
15
+ -C, [--configuration=CONFIGURATION] # Use the build configuration NAME for building each target
16
+ -d, [--destination=DESTINATION] # Set the destinationspecifier
17
+ -t, [--target=TARGET] # Build the target specified by targetname
18
+ -f, [--profile=PROFILE] # Set the export provisioning profile
19
+ -o, [--output=OUTPUT] # IPA output path, the default is: BUILD_DIR/fir_build_ipa
20
+ -p, [--publish], [--no-publish] # true/false if publish to fir.im
21
+ -s, [--short=SHORT] # Set custom short link if publish to fir.im
22
+ -n, [--name=NAME] # Set custom ipa name when builded
23
+ -c, [--changelog=CHANGELOG] # Set changelog if publish to fir.im
24
+ -Q, [--qrcode], [--no-qrcode] # Generate qrcode
25
+ -M, [--mapping], [--no-mapping] # true/false if upload app mapping file to BugHD.com
26
+ -P, [--proj=PROJ] # Project id in BugHD.com if upload app mapping file
27
+ [--open], [--no-open] # true/false if open for everyone, the default is: true
28
+ # Default: true
29
+ [--password=PASSWORD] # Set password for app
30
+ -T, [--token=TOKEN] # User's API Token at fir.im
31
+ -L, [--logfile=LOGFILE] # Path to writable logfile
32
+ -V, [--verbose], [--no-verbose] # Show verbose
33
+ # Default: true
34
+ -q, [--quiet], [--no-quiet] # Silence commands
35
+ -h, [--help], [--no-help] # Show this help message and quit
36
+ ```
37
+
38
+ 示例:
39
+
40
+ - 编译 project, 加上 changelog, 并发布到 fir.im 上并生成二维码图片
41
+
42
+ ```
43
+ $ fir build_ipa path/to/project -o path/to/output -p -c "this is changelog" -Q -T YOUR_API_TOKEN
44
+ ```
45
+
46
+ - 编译 Github 上的 workspace
47
+
48
+ ```sh
49
+ $ fir build_ipa git@github.com:xxxx.git -o path/to/output -w -C Release -t allTargets GCC_PREPROCESSOR_DEFINITIONS="FOO=bar"
50
+ ```
51
+ 该指令在指向的目录中,找到第一个 workspace 文件, 对其进行编译. 使用 `Release` 设置,编译策略为 `allTargets`, 同时设置了预编译参数 `FOO`.
52
+
53
+ - 编译用 CocoaPods 做依赖管理的 .ipa 包
54
+
55
+ ```sh
56
+ $ fir build_ipa path/to/workspace -w -S <scheme name>
57
+ ```
data/doc/help.md ADDED
@@ -0,0 +1,34 @@
1
+ ### 相关指令帮助
2
+
3
+ `fir help` 命令不仅可以运行在 `fir` 主命令上, 还可以运行在相应子命令上查看相关的帮助.
4
+
5
+ ```sh
6
+ $ fir help
7
+ Commands:
8
+ fir build_apk BUILD_DIR # Build Android app (alias: `ba`).
9
+ fir build_ipa BUILD_DIR [options] [settings] # Build iOS app (alias: `bi`).
10
+ fir help # Describe available commands or one specific command (aliases: `h`).
11
+ fir info APP_FILE_PATH # Show iOS/Android app info, support ipa/apk file (aliases: `i`).
12
+ fir login # Login fir.im (aliases: `l`).
13
+ fir mapping MAPPING_FILE_PATH # Upload app mapping file to BugHD.com (aliases: `m`).
14
+ fir me # Show current user info if user is logined.
15
+ fir publish APP_FILE_PATH # Publish iOS/Android app to fir.im, support ipa/apk file (aliases: `...
16
+ fir upgrade # Upgrade fir-cli and quit (aliases: `u`).
17
+ fir version # Show fir-cli version number and quit (aliases: `v`).
18
+
19
+ Options:
20
+ -T, [--token=TOKEN] # User's API Token at fir.im
21
+ -L, [--logfile=LOGFILE] # Path to writable logfile
22
+ -V, [--verbose], [--no-verbose] # Show verbose
23
+ # Default: true
24
+ -q, [--quiet], [--no-quiet] # Silence commands
25
+ -h, [--help], [--no-help] # Show this help message and quit
26
+ ```
27
+ #### 全局参数说明
28
+
29
+ - `alias <short command>` 意味着可以用 alias 别名来代替该指令, 例如 `fir b`
30
+ - `-T` 用户在 fir.im 上的 api_token
31
+ - `-L` 指定 fir-cli 的输出 log, 默认为 STDOUT
32
+ - `-V` Verbose, 默认为输出所有信息( INFO 和 ERROR), 如果设置 `--no-verbose`, 则只输出 ERROR 信息
33
+ - `-q` 静默模式, 默认关闭
34
+ - `-h` 查看相关命令帮助
data/doc/info.md ADDED
@@ -0,0 +1,44 @@
1
+ ### fir info
2
+
3
+ `fir info` 命令用于查看当前 ipa/apk 相关信息.
4
+
5
+ ```sh
6
+ $ fir info --help
7
+ Usage:
8
+ fir info APP_FILE_PATH
9
+
10
+ Show iOS/Android app info, support ipa/apk file (aliases: `i`).
11
+ ```
12
+
13
+ #### 查看 ipa 相关信息
14
+
15
+ ```sh
16
+ $ fir info ./build_ipa.ipa
17
+
18
+ I, [2016-03-08T12:28:29.310846 #11961] INFO -- : Analyzing ipa file......
19
+ I, [2016-03-08T12:28:29.310932 #11961] INFO -- : ✈ -------------------------------------------- ✈
20
+ I, [2016-03-08T12:28:29.395706 #11961] INFO -- : type: ios
21
+ I, [2016-03-08T12:28:29.395775 #11961] INFO -- : identifier: xx.xxx.build-ipa
22
+ I, [2016-03-08T12:28:29.395793 #11961] INFO -- : name: build_ipa
23
+ I, [2016-03-08T12:28:29.395805 #11961] INFO -- : display_name: build_ipa
24
+ I, [2016-03-08T12:28:29.395817 #11961] INFO -- : build: 1
25
+ I, [2016-03-08T12:28:29.395829 #11961] INFO -- : version: 1.0
26
+ I, [2016-03-08T12:28:29.396007 #11961] INFO -- : devices: ["fasdfafaf3f4xxxxxxx78aecbc1234567"]
27
+ I, [2016-03-08T12:28:29.396057 #11961] INFO -- : release_type: adhoc
28
+ I, [2016-03-08T12:28:29.396086 #11961] INFO -- : distribution_name: iOSTeam Provisioning Profile: xx.xxx.* - xxx xx xxxxxx LLC.
29
+ I, [2016-03-08T12:28:29.396111 #11961] INFO -- :
30
+ ```
31
+
32
+ #### 查看 apk 相关信息
33
+
34
+ ```sh
35
+ $ fir info ./test_apk.apk
36
+ I, [2016-03-08T12:30:25.241278 #12073] INFO -- : Analyzing apk file......
37
+ I, [2016-03-08T12:30:25.241363 #12073] INFO -- : ✈ -------------------------------------------- ✈
38
+ I, [2016-03-08T12:30:25.250430 #12073] INFO -- : type: android
39
+ I, [2016-03-08T12:30:25.250477 #12073] INFO -- : identifier: com.xxx.myapplication
40
+ I, [2016-03-08T12:30:25.250496 #12073] INFO -- : name: My Application
41
+ I, [2016-03-08T12:30:25.250509 #12073] INFO -- : build: 1
42
+ I, [2016-03-08T12:30:25.250520 #12073] INFO -- : version: 1.0
43
+ I, [2016-03-08T12:30:25.250532 #12073] INFO -- :
44
+ ```
data/doc/install.md ADDED
@@ -0,0 +1,65 @@
1
+ ### 安装
2
+
3
+ fir-cli 使用 Ruby 构建, 无需编译, 只要安装相应 gem 即可.
4
+
5
+ ```sh
6
+ $ ruby -v # > 1.9.3
7
+ $ gem install fir-cli
8
+ ```
9
+
10
+ #### 常见的安装问题
11
+
12
+ - 使用系统自带的 Ruby 安装, 需确保 ruby-dev 已被正确的安装:
13
+
14
+ ```sh
15
+ $ xcode-select --install # OS X 系统
16
+ $ sudo apt-get install ruby-dev # Linux 系统
17
+ ```
18
+
19
+ - 出现 `Permission denied` 相关错误:
20
+
21
+ 在命令前加上 `sudo`
22
+
23
+ - 出现 `Gem::RemoteFetcher::FetchError` 相关错误:
24
+
25
+ 更换 Ruby 的淘宝源(由于国内网络原因, 你懂的), 并升级下系统自带的 gem
26
+
27
+ ```sh
28
+ $ gem sources --remove https://rubygems.org/
29
+ $ gem sources -a https://ruby.taobao.org/
30
+ $ gem sources -l
31
+ *** CURRENT SOURCES ***
32
+
33
+ https://ruby.taobao.org
34
+ # 请确保只有 ruby.taobao.org, 如果有其他的源, 请 remove 掉
35
+
36
+ gem update --system
37
+ gem install fir-cli
38
+ ```
39
+
40
+ - Mac OS X 10.11 以后的版本, 由于10.11引入了 `rootless`, 无法直接安装 fir-cli, 有以下三种解决办法:**
41
+
42
+ 1\. 使用 [Homebrew](http://brew.sh/) 及 [RVM](https://rvm.io/) 安装 Ruby, 再安装 fir-cli(推荐)
43
+
44
+ ```sh
45
+ # Install Homebrew:
46
+ $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
47
+
48
+ # Install RVM:
49
+ $ \curl -sSL https://get.rvm.io | bash -s stable --ruby
50
+
51
+ $ gem install fir-cli
52
+ ```
53
+
54
+ 2\. 指定 fir-cli 中 bin 文件的 PATH
55
+
56
+ ```sh
57
+ $ export PATH=/usr/local/bin:$PATH;gem install -n /usr/local/bin fir-cli
58
+ ```
59
+
60
+ 3\. 重写 Ruby Gem 的 bindir
61
+
62
+ ```sh
63
+ $ echo 'gem: --bindir /usr/local/bin' >> ~/.gemrc
64
+ $ gem install fir-cli
65
+ ```
data/doc/login.md ADDED
@@ -0,0 +1,19 @@
1
+ ### fir login & fir me
2
+
3
+ `fir login` 命令用于使用 API token 登录 fir.im, 并使用发布应用等相关命令.
4
+
5
+ `fir me` 命令用于查看当前登录用户信息.
6
+
7
+ 用户的 API token 可在 **[这里](http://fir.im/apps/apitoken)** 查看, 当使用 fir login 登录了之后, 后续命令都不需要加上 `-T` 参数, 会默认使用 **当前用户的 token** 进行相关操作.
8
+
9
+ ```sh
10
+ $ fir login XXX_YOUR_API_TOKEN_XXX
11
+ I, [2016-03-08T12:48:56.499435 #13043] INFO -- : Login succeed, previous user's email: xxx@fir.im
12
+ I, [2016-03-08T12:48:56.507044 #13043] INFO -- : Login succeed, current user's email: xxx@fir.im
13
+ I, [2016-03-08T12:48:56.507147 #13043] INFO -- :
14
+
15
+ $ fir me
16
+ I, [2016-03-08T12:48:14.175488 #12986] INFO -- : Login succeed, current user's email: xxx@fir.im
17
+ I, [2016-03-08T12:48:14.175687 #12986] INFO -- : Login succeed, current user's name: xxx
18
+ I, [2016-03-08T12:48:14.175765 #12986] INFO -- :
19
+ ```
data/doc/mapping.md ADDED
@@ -0,0 +1,22 @@
1
+ ### fir mapping
2
+
3
+ `fir mapping` 指令用于将符号表上传至 [BugHD.com](http://bughd.com) 所对应的项目, 目前已经支持 dSYM 和 txt 两种格式的符号表文件上传, 有以下三种方法上传:
4
+
5
+ - 指定 version 和 build 上传:
6
+
7
+ ```sh
8
+ $ fir m <mapping file path> -P <bughd project id> -v <app version> -b <app build> -T <your api token>
9
+ ```
10
+
11
+ - 在 publish 的时候自动上传:
12
+
13
+ ```sh
14
+ $ fir p <app file path> -m <mapping file path> -P <bughd project id> -T <your api token>
15
+ ```
16
+ - 在 build_ipa 的时候自动上传:
17
+
18
+ ```sh
19
+ $ fir b <project dir> -P <bughd project id> -M -p -T <your api token>
20
+ ```
21
+
22
+ 更详细的使用说明, 可以使用 `fir mapping -h`查看相应的帮助.
data/doc/publish.md ADDED
@@ -0,0 +1,36 @@
1
+ ### fir publish
2
+
3
+ `fir publish` 命令用于可以发布应用到 fir.im, 支持 ipa 和 apk 文件.
4
+
5
+ ```sh
6
+ $ fir publish --help
7
+ Usage:
8
+ fir publish APP_FILE_PATH
9
+
10
+ Options:
11
+ -s, [--short=SHORT] # Set custom short link
12
+ -c, [--changelog=CHANGELOG] # Set changelog
13
+ -Q, [--qrcode], [--no-qrcode] # Generate qrcode
14
+ -m, [--mappingfile=MAPPINGFILE] # App mapping file
15
+ -P, [--proj=PROJ] # Project id in BugHD.com if upload app mapping file
16
+ [--open], [--no-open] # true/false if open for everyone, the default is: true
17
+ # Default: true
18
+ [--password=PASSWORD] # Set password for app
19
+ -T, [--token=TOKEN] # User's API Token at fir.im
20
+ -L, [--logfile=LOGFILE] # Path to writable logfile
21
+ -V, [--verbose], [--no-verbose] # Show verbose
22
+ # Default: true
23
+ -q, [--quiet], [--no-quiet] # Silence commands
24
+ -h, [--help], [--no-help] # Show this help message and quit
25
+ ```
26
+
27
+ 相关参数详解:
28
+
29
+ - `-s` 参数, 自定义发布后的短链接地址.
30
+ - `-c` 参数, 自定义发布时的 changelog, 支持字符串与文件两种方式, 即 `--changelog='this is changelog'` 和 `--changelog='/Users/fir-cli/changelog'`.
31
+ - `-Q` 参数, 是否生成发布后二维码, 默认为不生成, 加上 `-Q` 参数后会在当前目录生成一张二维码图片, 扫描该图片即可下载该应用.
32
+ - `-m` 参数, 上传当前应用的符号表文件, 配合 `-P` 参数使用.
33
+ - `-P` 参数, [BugHD.com](http://bughd.com) 上相对应的 Project id.
34
+ - `--open` 参数, 设置发布后的应用是否开放给所有人下载, 默认为开放, 关闭开放使用 `--no-open` 参数.
35
+ - `--password` 参数, 设置发布后的应用密码
36
+
data/doc/upgrade.md ADDED
@@ -0,0 +1,7 @@
1
+ #### fir upgrade
2
+
3
+ `fir upgrade` 指令用于升级最新版本的 fir-cli
4
+
5
+ ```sh
6
+ $ fir upgrade
7
+ ```
data/fir-cli.gemspec CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  /_/ /___/_/ |_| \____/_____/___/
28
28
 
29
29
  ## 更新记录
30
- ### fir-cli 1.4.8
30
+ ### fir-cli 1.4.9
31
31
  - 修正 build 后直接 -p 发布的权限错误
32
32
  - 增加上传时候设置密码及公开访问权限
33
33
  - 增加 build_ipa 中的 destination 参数
@@ -159,7 +159,7 @@ module FIR
159
159
  @changelog = read_changelog(options[:changelog]).to_s.to_utf8
160
160
  @short = options[:short].to_s
161
161
  @passwd = options[:password].to_s
162
- @is_opened = !!options[:open]
162
+ @is_opened = @passwd.blank? ? !!options[:open] : false
163
163
  @export_qrcode = !!options[:qrcode]
164
164
  end
165
165
 
data/lib/fir/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module FIR
4
- VERSION = '1.4.8'
4
+ VERSION = '1.4.9'
5
5
  end
data/test/publish_test.rb CHANGED
@@ -16,9 +16,22 @@ class PublishTest < Minitest::Test
16
16
 
17
17
  def test_update_app_info
18
18
  short = SecureRandom.hex[3..9]
19
- passwd = SecureRandom.hex[0..9]
20
19
  is_opened = (rand(100) % 2) == 0
21
20
 
21
+ update_info = { short: short, open: is_opened }
22
+ FIR.publish(default_ipa, @options.merge(update_info))
23
+
24
+ info = FIR.fetch_app_info
25
+
26
+ assert_equal short, info[:short]
27
+ assert_equal is_opened, info[:is_opened]
28
+ end
29
+
30
+ def test_update_app_passwd
31
+ short = SecureRandom.hex[3..9]
32
+ is_opened = (rand(100) % 2) == 0
33
+ passwd = SecureRandom.hex[0..9]
34
+
22
35
  update_info = { short: short, password: passwd, open: is_opened }
23
36
  FIR.publish(default_ipa, @options.merge(update_info))
24
37
 
@@ -26,6 +39,6 @@ class PublishTest < Minitest::Test
26
39
 
27
40
  assert_equal short, info[:short]
28
41
  assert_equal passwd, info[:passwd]
29
- assert_equal is_opened, info[:is_opened]
42
+ assert_equal false, info[:is_opened]
30
43
  end
31
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fir-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.8
4
+ version: 1.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - NaixSpirit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-28 00:00:00.000000000 Z
11
+ date: 2016-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -157,6 +157,15 @@ files:
157
157
  - bin/console
158
158
  - bin/fir
159
159
  - bin/setup
160
+ - doc/build_apk.md
161
+ - doc/build_ipa.md
162
+ - doc/help.md
163
+ - doc/info.md
164
+ - doc/install.md
165
+ - doc/login.md
166
+ - doc/mapping.md
167
+ - doc/publish.md
168
+ - doc/upgrade.md
160
169
  - fir-cli.gemspec
161
170
  - lib/fir-cli.rb
162
171
  - lib/fir.rb
@@ -206,7 +215,7 @@ metadata: {}
206
215
  post_install_message: "\n ______________ ________ ____\n /
207
216
  ____/ _/ __ \\ / ____/ / / _/\n / /_ / // /_/ /_____/ / / / /
208
217
  /\n / __/ _/ // _, _/_____/ /___/ /____/ /\n /_/ /___/_/ |_| \\____/_____/___/\n\n
209
- \ ## 更新记录\n ### fir-cli 1.4.8\n - 修正 build 后直接 -p 发布的权限错误\n - 增加上传时候设置密码及公开访问权限\n
218
+ \ ## 更新记录\n ### fir-cli 1.4.9\n - 修正 build 后直接 -p 发布的权限错误\n - 增加上传时候设置密码及公开访问权限\n
210
219
  \ - 增加 build_ipa 中的 destination 参数\n - 详细更新记录, 请查看: https://github.com/FIRHQ/fir-cli/blob/master/CHANGELOG\n
211
220
  \ - [fir-cli](https://github.com/FIRHQ/fir-cli) 已经开源\n - 欢迎 fork, issue 和 pull
212
221
  request\n "