fir-cli 0.2.1.a → 0.2.1.b

Sign up to get free protection for your applications and to get access to all the features.
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