fir-cli 0.2.1.a → 0.2.1.b

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: ffcd067aa56b7c3d830516808a6654e15fb31327
4
- data.tar.gz: 394e53f52c3891e1de361f8b79f17836bdb410d1
3
+ metadata.gz: ced444d1d4238db14de526c4101ed3d248ab0bb2
4
+ data.tar.gz: 5189c9c787bc6a0abc30c6b564951ded82e6c6d3
5
5
  SHA512:
6
- metadata.gz: b6b8bdee57e9e630937732c11f3755b992179709f9721e2f7aba3273793cce4a40d2370fbad8ad8f7591c0e1428276e5f2dd59d4f4ce95745e7cecd8019067d6
7
- data.tar.gz: a59d788c74321a5b03c204e8896541e7757aa2d60fe8530fe2ecc3708983e97eb7dbe504221d5eb1b5739aa91e7724e5c7ebc8ecfd2f2cf6f46286c214f866e1
6
+ metadata.gz: e9a2446a12c7ad73291f4b68a0ee0929649d1c4682b4d1af60b6729bd4b19f84e09f709965d5300679ccac698bacd9f1a3706e696e15ac58eca289420f510f21
7
+ data.tar.gz: bf7c3905187947a075c14203f8193591f20e2d580ee144f6810ef763d70b81447a5f3d52db24ce119f93327d0ed9cc16af6d84492fbf1ba6bf346455b46056b3
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fir-cli (0.2.1.a)
4
+ fir-cli (0.2.1.b)
5
5
  highline (~> 1.6)
6
6
  lagunitas (= 0.0.1)
7
7
  paint (~> 0.9)
data/README.md CHANGED
@@ -2,94 +2,49 @@ FIR.im CLI
2
2
  ---
3
3
  > FIR.im CLI 可以通过指令查看、上传、编译应用,同时还集成了第三方网站 [resign.tapbeta.com](http://resign.tapbeta.com) 进行企业签名以方便 inhouse 测试。
4
4
 
5
- ## 新指令 `build_ipa`
6
- > 这个指令对 `xcodebuild` 这个原生指令进行了包装,将常用的参数名简化,同时支持全部的自带参数和设置。
7
-
8
- ### 编译并获得 ipa
9
-
10
- ```
11
- $ fir build_ipa path/to/project -o path/to/output
12
- > 欢迎使用 FIR.im 命令行工具,如需帮助请输入: fir help
13
- > 正在编译
14
- > 正在打包 app: demo.app 到 path/to/output/demo.ipa
15
- > 完成
16
- ```
17
-
18
- ### 复杂一点
19
- ```
20
- $ fir build_ipa path/to/workspace -o path/to/output -w -C Release -s allTargets GCC_PREPROCESSOR_DEFINITIONS="FOO=bar"
21
- ```
22
-
23
- 该指令在指向的目录中,找到第一个 workspace 文件,对其进行编译。使用 `Release` 设置,编译策略为 `allTargets`,同时设置了预编译参数 `FOO`。
24
-
25
- ### 一步,从源代码到 FIR.im
26
- > 只需要多输入一个 -p
27
-
28
- ```
29
- $ fir build_ipa path/to/project -p
30
- > 欢迎使用 FIR.im 命令行工具,如需帮助请输入: fir help
31
- > 正在编译
32
- > 正在打包 app: demo.app 到 /var/folders/z7/7_cp03nx0535g0cd6ynfmxt80000gn/T/d20141218-13295-1oe0zlm/demo.ipa
33
- > 完成
34
- > 正在发布 demo.ipa
35
- > 正在解析 ipa 文件...
36
- > 正在获取 im.fir.demo@FIR.im 的应用信息...
37
- > 上传应用...
38
- > 上传应用成功
39
- > 正在更新 fir 的应用信息...
40
- > 更新成功
41
- > 正在更新 fir 的应用版本信息...
42
- > 更新成功
43
- > 正在获取 im.fir.demo@FIR.im 的应用信息...
44
- > http://fir.im/xxxx
45
- ```
5
+ ## Changelog
6
+ ### FIR-cli 0.1.8
7
+ - 支持 ruby 1.9.x
8
+ - 规范输出参数选项,支持无颜色信息输出
9
+ -`--verbose=v|vv|vvv`:设置输出级别
10
+ -`--quiet` 与 `--no-quiet`:设置是否不输出辅助信息
11
+ -`--color` `--no-color`:设置输出是否携带颜色信息
12
+ - 修复 ipa 应用图标不清晰问题
13
+ - 增加切换配置文件功能:使用此功能可以在多个用户中切换使用
46
14
 
47
- ## 使用入门
15
+ ## 使用说明
48
16
  ### 从安装入手
49
-
50
17
  FIR.im CLI 使用 ruby 构建,只要安装相应 ruby gem 即可:
51
-
52
18
  ```shell
53
19
  $ sudo gem install fir-cli
54
20
  ```
55
-
56
21
  安装后,你可以在命令行执行指令
57
-
58
22
  ```shell
59
23
  $ fir
60
24
  > 欢迎使用 FIR.im 命令行工具,如需帮助请输入: fir help
61
25
  Commands:
62
- fir build_ipa PATH [options] [settings] # 编译 ios app 项目
63
- fir config # 配置全局设置
64
- fir help [COMMAND] # Describe available commands or one specific command
65
- fir info APP_FILE_PATH # 获取应用文件的信息(支持 ipa 文件和 apk 文件)
66
- fir login # 登录
67
- fir profile # 切换配置文件
68
- fir publish APP_FILE_PATH # 将应用文件发布至 FIR.im(支持 ipa 文件和 apk 文件)
69
- fir resign IPA_FILE_PATH OUTPUT_PATH # 使用 resign.tapbeta.com 进行企业签名
70
- fir upgrade # 更新 fir-cli 的所有组件
71
- fir version # 当前版本
26
+ fir config # 配置全局设置
27
+ fir help [COMMAND] # Describe available commands or one specific command
28
+ fir info APP_FILE_PATH # 获取应用文件的信息(支持 ipa 文件和 apk 文件)
29
+ fir login # 登录
30
+ fir publish APP_FILE_PATH # 将应用文件发布至 FIR.im(支持 ipa 文件和 apk 文件)
31
+ fir resign IPA_FILE_PATH OUTPUT_PATH # 使用 resign.tapbeta.com 进行企业签名
32
+ fir upgrade # 更新 fir-cli 的所有组件
72
33
  ```
73
34
 
74
35
  ### 发布一个应用
75
-
76
36
  输入下面的指令便可轻松发布应用
77
-
78
37
  ```shell
79
38
  $ fir publish 应用路径
80
39
  ```
81
-
82
40
  这时系统会提示输入用户 token
83
-
84
41
  ```shell
85
42
  > 欢迎使用 FIR.im 命令行工具,如需帮助请输入: fir help
86
43
  > 正在解析 ipa 文件...
87
44
  > 正在获取 im.fir.juo@FIR.im 的应用信息...
88
45
  请输入用户 token:
89
46
  ```
90
-
91
47
  输入用户 token 后,系统会自动上传
92
-
93
48
  ```shell
94
49
  请输入用户 token:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
95
50
  > 上传应用...
@@ -104,15 +59,12 @@ $ fir publish 应用路径
104
59
  用户 token 可在[这里](http://fir.im/user/info)查看
105
60
 
106
61
  ### 方便一点
107
-
108
62
  如果觉得每次都输入用户 token 很不方便,那么可使用登录命令
109
63
 
110
64
  ```shell
111
65
  $ fir login
112
66
  ```
113
-
114
67
  这时系统会提示输入用户 token
115
-
116
68
  ```shell
117
69
  > 欢迎使用 FIR.im 命令行工具,如需帮助请输入: fir help
118
70
  输入你的用户 token:
@@ -126,15 +78,12 @@ $ fir login
126
78
 
127
79
 
128
80
  ### 需要企业签名?
129
-
130
81
  很多开发者需要一个企业签名的应用,来让更多的用户参与到测试中,这种行为并不符合企业证书的使用规范。但是我们还是集成了第三方签名网站 [resign.tapbeta.com](http://resign.tapbeta.com) 来帮助我们的用户更方便的进行测试。
131
82
 
132
83
  ```shell
133
84
  $ fir resign ipa文件路径 输出文件路径
134
85
  ```
135
-
136
86
  这条指令会输出一段风险提示;如果没有设置邮件地址,这里会让你输入邮件地址。输入邮件地址后,便开始进行企业签名了
137
-
138
87
  ```
139
88
  > 欢迎使用 FIR.im 命令行工具,如需帮助请输入: fir help
140
89
  ! resign.tapbeta.com 签名服务风险提示
@@ -154,42 +103,110 @@ $ fir resign ipa文件路径 输出文件路径
154
103
 
155
104
 
156
105
  ### 一步到位
157
-
158
106
  企业签名后自动发布到 [FIR.im](http://fir.im)
159
-
160
107
  ```shell
161
108
  $ fir publish ipa文件路径 -r
162
109
  ```
163
110
 
164
- ## 需要帮助?
165
-
111
+ ### 需要帮助?
166
112
  输入以下指令获取全面功能介绍
167
-
168
113
  ```shell
169
114
  $ fir help
170
115
  ```
171
-
172
116
  如果还有疑问随时发邮件至[fir-cli](mailto:fir-cli@fir.im)
173
117
 
174
- ## 永远使用最新功能
175
-
118
+ ### 永远使用最新功能
176
119
  下面的指令会自动更新 fir-cli 及所有扩展命令至最新状态
177
-
178
120
  ```shell
179
121
  $ fir upgrade
180
122
  ```
181
-
182
123
  随时更新以使用最新功能
183
124
 
184
- ## 更新记录
185
- ### FIR-cli 0.2.0
186
- - 新指令 `build_ipa`
125
+ ## 指令文档
126
+ ### 帮助
127
+ > 以下指令用于获取帮助
187
128
 
188
- ### FIR-cli 0.1.8
189
- - 支持 ruby 1.9.x
190
- - 规范输出参数选项,支持无颜色信息输出
191
- -`--verbose=v|vv|vvv`:设置输出级别
192
- -`--quiet` 与 `--no-quiet`:设置是否不输出辅助信息
193
- -`--color` 与 `--no-color`:设置输出是否携带颜色信息
194
- - 修复 ipa 应用图标不清晰问题
195
- - 增加切换配置文件功能:使用此功能可以在多个用户中切换使用
129
+ ```shell
130
+ fir help
131
+ ```
132
+
133
+ > 以下指令用于获取更具体的帮助
134
+
135
+ - `COMMAND`:具体的一个指令,如`publish`,`update`
136
+ ```shell
137
+ fir help COMMAND
138
+ ```
139
+
140
+ ### 切换配置文件
141
+ > 以下指令用于切换配置文件,一个用户可以拥有多个配置文件。用户所有全局设置都跟随配置文件的切换而变化
142
+
143
+ - `-d` 删除指定配置文件
144
+ ```shell
145
+ fir profile PROFILE [-d]
146
+ ```
147
+
148
+ ### 登录
149
+ > 以下指令用于登录,登录后系统会从 FIR.im 自动获取你的邮件等信息。已登录用户在[这里](http://fir.im/user/info)可以找到自己的用户 token。
150
+
151
+ ```shell
152
+ fir login
153
+ ```
154
+ ### 设置全局信息
155
+ > 以下指令用于全局设置。执行指令时如果不指明相应选项,会读取全局设置。
156
+
157
+ - `--token=TOKEN`:见`登录`
158
+ - `--resign`:见`第三方企业证书签名服务`
159
+ - `--email=EMAIL`:见`第三方企业证书签名服务`
160
+ - `--verbose=v|vv|vvv`:见`控制输出参数`
161
+ - `--quiet` 与 `--no-quiet`:见`控制输出参数`
162
+ - `--color` 与 `--no-color`:见`控制输出参数`
163
+ ```shell
164
+ fir config [options]
165
+ ```
166
+
167
+ ### 获取应用文件的信息
168
+ > 以下指令用于显示应用信息,支持 ipa 和 apk 文件。
169
+
170
+ - `--all` 与 `--no-all`:可选,现实全部信息
171
+ - `--fir` 与 `--no-fir`:可选,显示托管在 [FIR.im](http://fir.im) 的信息
172
+ ```shell
173
+ fir info APP_FILE_PATH [-a] [-f] [-v v|vv|vvv] [-q]
174
+ ```
175
+
176
+
177
+
178
+ ### 第三方企业证书签名服务
179
+ > 以下指令使用 [resign.tapbeta.com](http://resign.tapbeta.com) 进行企业证书签名
180
+
181
+ - `INPUT_IPA_PATH`:待签名的 ipa 文件路径
182
+ - `OUTPUT_IPA_PATH`:签名后的输出文件路径
183
+ - `--email=EMAIL`:可选,设置使用签名服务的邮件地址
184
+ ```shell
185
+ fir resign INTPUT_IPA_FILE OUTPUT_IPA_FILE [--email=EMAIL]
186
+ ```
187
+
188
+ ### 发布应用至 [FIR.im](http://fir.im)
189
+ > 以下指令用于发布应用到 [FIR.im](http://fir.im),支持 ipa 和 apk 文件。
190
+
191
+ - `--resign` 与 `--no-resign`:可选,此开关控制是否使用第三方企业签名服务,仅支持 ipa 文件
192
+ - `--short=SHORT`:可选,指定发布应用的短地址
193
+ - `--token=USER_TOKEN`:可选,设定发布应用的帐号,未设置则使用全局设置
194
+ - `--changelog=CHANGE_LOG`:可选,设置更新日志
195
+ ```shell
196
+ fir publish APP_FILE_PATH [-r] [-s SHORT] [-t USER_TOKEN] [-c CHANGE_LOG]
197
+ ```
198
+
199
+ ### 更新全部指令
200
+ > 以下指令用于更新已安装的 fir-cli 指令集
201
+
202
+ ```shell
203
+ fir upgrade
204
+ ```
205
+
206
+ ### 通用参数
207
+ #### 控制输出参数
208
+ > 几乎全部 FIR-cli 指令都支持下面的控制输出参数
209
+
210
+ - `--verbose=v|vv|vvv`:用于控制输出级别,`v`只输出以`!`开始的内容;`vv`输出以`!`或`>`开始的内容;`vvv`输出全部辅助信息。
211
+ - `--quiet` 与 `--no-quiet`:设置是否不输出全部辅助信息
212
+ - `--color` 与 `--no-color`:设置输出信息是否包含命令行颜色信息
@@ -1,5 +1,5 @@
1
1
  module Fir
2
2
  class Cli
3
- VERSION = '0.2.1.a'
3
+ VERSION = '0.2.1.b'
4
4
  end
5
5
  end
@@ -5,6 +5,7 @@ module Fir
5
5
  option :token, :aliases => '-t', :desc => '用户 token'
6
6
  option :email, :aliases => '-e', :desc => '邮件地址'
7
7
  option :resign, :aliases => '-r', :desc => '是否以企业签名发布 ios 应用', :type => :boolean
8
+ option :private_key, :desc => '私密通道'
8
9
  option :publish, :aliases => '-p', :desc => '编译打包自动发布至 FIR.im', :type => :boolean
9
10
  output_options
10
11
  def config(*args)
@@ -37,13 +37,6 @@ module Fir
37
37
  _exec "codesign -f -s \"#{sign_name}\""
38
38
  end
39
39
  end
40
- # Dir["Payload/#{app}/*.nib"].each do |_nib|
41
- # _exec "codesign -f -s \"#{sign_name}\"
42
- # end
43
- # cs_dir = "Payload/#{app}/_CodeSignature"
44
- # cr_dir = "Payload/#{app}/CodeResources"
45
- # Dir.rmdir cs_dir if File.directory? cs_dir
46
- # Dir.rmdir cr_dir if File.directory? cr_dir
47
40
  _puts "> 重签名 #{app}"
48
41
  _exec "codesign -f -s \"#{sign_name}\" \"#{app}\" --deep"
49
42
  end
@@ -3,6 +3,7 @@ module Fir
3
3
  class Cli
4
4
  def self.resign_tapbeta_options
5
5
  option :email, :aliases => '-e', :desc => '邮件地址'
6
+ option :private_key, :desc => '私密通道'
6
7
  end
7
8
  desc 'resign_tapbeta IPA_FILE_PATH OUTPUT_PATH', '使用 resign.tapbeta.com 进行企业签名'
8
9
  resign_tapbeta_options
@@ -34,6 +35,7 @@ module Fir
34
35
  _puts '> 正在申请上传令牌...'
35
36
  upload_res = RestClient.post 'http://api.resign.tapbeta.com/public/upload',
36
37
  :email => @email,
38
+ :private_key => _opt_private_key,
37
39
  :file => File.basename(ipath)
38
40
  form = JSON.parse upload_res.body, :symbolize_names => true
39
41
  tapbeta = {}
data/lib/fir-cli.opt.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  module Fir
3
3
  class Cli
4
4
  no_commands do
5
- %w(token email verbose origin branch mobile_provision sign entitlements).each do |_m|
5
+ %w(token email verbose origin branch mobile_provision sign entitlements private_key).each do |_m|
6
6
  define_method "_opt_#{_m}" do
7
7
  unless instance_variable_get("@#{_m}")
8
8
  instance_variable_set("@#{_m}", options[_m.to_sym] || @config[_m] )
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: 0.2.1.a
4
+ version: 0.2.1.b
5
5
  platform: ruby
6
6
  authors:
7
7
  - FIR.im