fir-cli 2.0.3.alpha → 2.0.3.beta

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
  SHA256:
3
- metadata.gz: 5ef2b63592880a75e5f400a4471be7bda253b6686c072774c37b75adb6090cc3
4
- data.tar.gz: d62602feb25bacc326583d3e93fca760ae626651fd6a58f812c407270f39c122
3
+ metadata.gz: 36634b61af92921d7eb88d6f7e6a1673c976007a2a1d391515d1cb3de34a2365
4
+ data.tar.gz: 610babac6a88c166a99d802eb157b7c0162c2a989af17d733e5ef1821b453a76
5
5
  SHA512:
6
- metadata.gz: 70224d95eb9364d12200fea714a1ba15cdea4e7455ff0e60a69bde6d1157093c7a593a8bd903eda0c781f200bd606d10787bb20667697978d253a9ae42c82731
7
- data.tar.gz: eae8bb9325adfb5d1ca77a7431b422bda500f709d4fdd0d2045ac750cc0879ea4b0a9d72c8fef8fbd89cd0209673d7a53f37e0048f0c3f2c83553da17f8a03ca
6
+ metadata.gz: efe557c5b8026643f21050914963e9a732732d13b9247260d7e74f4cf53ba6a9e38871d7248aaba29c50015b3998bb7013d9b5a8b62aa737c531cb6df2b89d42
7
+ data.tar.gz: 364b26b9464b9757b2034718a7672ecef9c349b98b1394e1186c14d192987d103d9308e71fce3a2072c94b2f542bf1e15eb62d4bd420dbc278c564e7ffe008b1
data/README.md CHANGED
@@ -14,7 +14,9 @@ fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用.
14
14
 
15
15
 
16
16
  # 最近更新
17
- - (2.0.3.alpha) 增加海外加速参数 --oversea_turbo
17
+ - (2.0.3.beta) 增加 dingtalk_at_phones, 钉钉通知可 at 用户手机号, 以逗号,分割. 此命令需配合 `dingtalk_access_token` 使用
18
+ - (2.0.3.beta) 增加 dingtalk_at_all, 钉钉通知可 at 所有人, 此命令需配合 `dingtalk_access_token` 使用
19
+ - (2.0.3.alpha) 增加海外加速参数 --oversea_turbo, 需要使用该功能的小伙伴请微信联系我, 我来开通
18
20
  - (2.0.2) 有限支持 aab 文件上传, 强依赖 `bundletool` 工具, 具体请参见参数 `--bundletool_jar_path` 和 `--auto_download_bundletool_jar`
19
21
  - (2.0.1) publish 支持 新参数 `specify_app_display_name`, 指定 app 显示名称
20
22
  - (2.0.1) publish 支持 新参数 `need_ansi_qrcode`, 在控制台直接打印二维码, jenkins 用户可能需要使用 `AnsiColor Plugin` 插件配合
@@ -35,9 +37,14 @@ fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用.
35
37
 
36
38
  ### 在 Circle CI, Travis CI 或 Github Actions 等境外服务上, 有概率超时, 能否解决?
37
39
 
40
+ 2.0.3 版本 及其以上, 可以申请海外加速内测资格, 开启后可以使用海外加速上传
41
+
42
+
38
43
  由于监管要求, 我们必须将服务于存储放置在境内. 由于众所周知的原因, 国内外连通性的表现不太好, 虽然我们的存储服务商 阿里云 提供了 OSS 境外加速服务, 但是高达 1.25 元/GB 的传输成本确实我们也没办法负担.
39
44
 
40
- 目前我们提供三种临时解决方案来缓解问题:
45
+
46
+
47
+ 目前我们提供三种临时解决方案来缓解问题(2.0.2以下版本):
41
48
 
42
49
  1. 设置较长的超时时间 如 `FIR_TIMEOUT=300 fir publish xxxx`, 则可将超时时间设置为 300 秒.
43
50
  2. 如果fir-cli 版本 >= 2.0.0, 也可在出现超时后, 使用 `--switch-to-qiniu` 来切换到我们的另外一条存储线路. 如 `fir publish xxxx.apk --switch-to-qiniu`, 多一条线路备选.
data/fir-cli.gemspec CHANGED
@@ -27,6 +27,8 @@ Gem::Specification.new do |spec|
27
27
  /_/ /___/_/ |_| \____/_____/___/
28
28
 
29
29
  ## 更新记录
30
+ - (2.0.3.beta) 增加 dingtalk_at_phones, 钉钉通知可 at 用户手机号, 以逗号,分割. 此命令需配合 `dingtalk_access_token` 使用
31
+ - (2.0.3.beta) 增加 dingtalk_at_all, 钉钉通知可 at 所有人, 此命令需配合 `dingtalk_access_token` 使用
30
32
  - (2.0.3.alpha) publish 增加海外加速参数 --oversea_turbo
31
33
  - (2.0.2) 有限支持 aab 文件上传, 强依赖`bundletool`工具, 具体请参见参数 `--bundletool_jar_path` 和 `auto_download_bundletool_jar`
32
34
  - (2.0.1) publish 支持 新参数 `specify_app_display_name`, 指定 app 显示名称
@@ -34,21 +36,13 @@ Gem::Specification.new do |spec|
34
36
  - (2.0.1) publish 支持 新参数 `dingtalk_custom_message`, 可以在钉钉通知里增加自定义消息, 此命令需配合 `dingtalk_access_token` 使用
35
37
  - (2.0.1) publish 支持 新参数 `skip_fir_cli_feedback`, 可禁止 fir-cli 发送统计信息
36
38
  - (2.0.0) publish 使用更快的存储商, 加速上传速度, 若感觉没以前可使用 switch_to_qiniu 恢复
37
- - (1.7.4) 配合 fastlane-plugin-fir_cli 做了一些小优化
38
- - (1.7.3) 新增了 上传指定图标, 不上传图标 以及 将版本固定显示在下载页上
39
- - (1.7.2) 修正了无论是否加参数都固定出现二维码图片的bug
40
- - (1.7.1) 增加了 钉钉推送 , 增加了返回指定版本下载地址
41
- - (1.7.0) 过期了ipa_build 功能, 增加了对 android manifest instant run 的兼容
42
- - (1.6.13) 上传图标逻辑修改
43
- - (1.6.12) 修复了部分机器没有默认安装 byebug 的问题
44
- - (1.6.11) 变化了 ruby gem 仓库地址
45
39
  - [fir-cli](https://github.com/firhq/fir-cli) 已经开源
46
40
  - 欢迎 fork, issue 和 pull request
47
41
  )
48
42
 
49
43
  spec.add_development_dependency 'bundler'
50
44
  spec.add_development_dependency 'rake'
51
- # spec.add_development_dependency 'byebug'
45
+ spec.add_development_dependency 'byebug'
52
46
  spec.add_development_dependency 'minitest', '~> 5.7'
53
47
  spec.add_development_dependency 'pry', '~> 0.10'
54
48
 
data/lib/fir/cli.rb CHANGED
@@ -124,6 +124,8 @@ module FIR
124
124
  method_option :mappingfile, type: :string, aliases: '-m', desc: 'App mapping file'
125
125
  method_option :dingtalk_access_token, type: :string, aliases: '-D', desc: 'Send msg to dingtalk, only need access_token, not whole url'
126
126
  method_option :dingtalk_custom_message, type: :string, desc: 'add custom message to dingtalk'
127
+ method_option :dingtalk_at_phones, type: :string, desc: 'at some phones, split by , eg: 13111111111,13111111112'
128
+ method_option :dingtalk_at_all, type: :boolean, default: false
127
129
 
128
130
  method_option :open, type: :boolean, desc: 'true/false if open for everyone'
129
131
  method_option :password, type: :string, desc: 'Set password for app'
@@ -90,6 +90,7 @@ module FIR
90
90
 
91
91
  def upload_fir_cli_usage_info(received_app_info)
92
92
  return if @options[:skip_fir_cli_feedback]
93
+
93
94
  short = received_app_info[:short]
94
95
  AdmqrKnife.visit(
95
96
  unique_code: 'fir_cli_publish',
@@ -153,13 +154,14 @@ module FIR
153
154
  qrcode_path = "#{File.dirname(@file_path)}/fir-#{@app_info[:name]}.png"
154
155
  FIR.generate_rqrcode(download_url, qrcode_path)
155
156
 
156
-
157
157
  # NOTE: showing with default options specified explicitly
158
- puts RQRCode::QRCode.new(download_url).as_ansi(
159
- light: "\033[47m", dark: "\033[40m",
160
- fill_character: ' ',
161
- quiet_zone_size: 1
162
- ) if @options[:need_ansi_qrcode]
158
+ if @options[:need_ansi_qrcode]
159
+ puts RQRCode::QRCode.new(download_url).as_ansi(
160
+ light: "\033[47m", dark: "\033[40m",
161
+ fill_character: ' ',
162
+ quiet_zone_size: 1
163
+ )
164
+ end
163
165
 
164
166
  # 为何在这里必须生成 QrCode ? 因为要在 dingtalk 调用
165
167
  logger.info "Local qrcode file: #{qrcode_path}" if @export_qrcode
@@ -190,8 +192,10 @@ module FIR
190
192
  "markdown": {
191
193
  "title": "#{title} uploaded",
192
194
  "text": "#{title} uploaded at #{Time.now}\nurl: #{download_url}\n#{options[:dingtalk_custom_message]}\n![app二维码](data:image/png;base64,#{Base64.strict_encode64(File.read(open(qrcode_path)))})"
195
+ # "text": "#{title} uploaded at #{Time.now}\nurl: #{download_url}\n#{options[:dingtalk_custom_message]}\n"
193
196
  }
194
197
  }
198
+ build_dingtalk_at_info(payload)
195
199
  url = "https://oapi.dingtalk.com/robot/send?access_token=#{options[:dingtalk_access_token]}"
196
200
 
197
201
  # 用完了二维码, 就删了
@@ -236,5 +240,17 @@ module FIR
236
240
  check_token_cannot_be_blank(@token)
237
241
  fetch_user_info(@token)
238
242
  end
243
+
244
+ def build_dingtalk_at_info(payload)
245
+ answer = {}
246
+ answer[:isAtAll] = options[:dingtalk_at_all]
247
+
248
+ unless options[:dingtalk_at_phones].blank?
249
+ answer[:atMobiles] = options[:dingtalk_at_phones].split(',')
250
+ payload[:markdown][:text] += options[:dingtalk_at_phones].split(',').map { |x| "@#{x}" }.join(',')
251
+ end
252
+
253
+ payload[:at] = answer
254
+ end
239
255
  end
240
256
  end
data/lib/fir/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module FIR
4
- VERSION = '2.0.3.alpha'
4
+ VERSION = '2.0.3.beta'
5
5
  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: 2.0.3.alpha
4
+ version: 2.0.3.beta
5
5
  platform: ruby
6
6
  authors:
7
7
  - NaixSpirit
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-12-23 00:00:00.000000000 Z
12
+ date: 2020-01-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -39,6 +39,20 @@ dependencies:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: byebug
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: minitest
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -254,18 +268,16 @@ metadata: {}
254
268
  post_install_message: "\n ______________ ________ ____\n /
255
269
  ____/ _/ __ \\ / ____/ / / _/\n / /_ / // /_/ /_____/ / / / /
256
270
  /\n / __/ _/ // _, _/_____/ /___/ /____/ /\n /_/ /___/_/ |_| \\____/_____/___/\n\n
257
- \ ## 更新记录\n - (2.0.3.alpha) publish 增加海外加速参数 --oversea_turbo\n - (2.0.2) 有限支持
258
- aab 文件上传, 强依赖`bundletool`工具, 具体请参见参数 `--bundletool_jar_path` `auto_download_bundletool_jar`\n
259
- \ - (2.0.1) publish 支持 新参数 `specify_app_display_name`, 指定 app 显示名称\n - (2.0.1)
260
- publish 支持 新参数 `need_ansi_qrcode`, 在控制台直接打印二维码, jenkins 用户可能需要使用 `AnsiColor Plugin`
261
- 插件配合\n - (2.0.1) publish 支持 新参数 `dingtalk_custom_message`, 可以在钉钉通知里增加自定义消息, 此命令需配合
262
- `dingtalk_access_token` 使用\n - (2.0.1) publish 支持 新参数 `skip_fir_cli_feedback`,
271
+ \ ## 更新记录\n - (2.0.3.beta) 增加 dingtalk_at_phones, 钉钉通知可 at 用户手机号, 以逗号,分割. 此命令需配合
272
+ `dingtalk_access_token` 使用\n - (2.0.3.beta) 增加 dingtalk_at_all, 钉钉通知可 at 所有人, 此命令需配合
273
+ `dingtalk_access_token` 使用\n - (2.0.3.alpha) publish 增加海外加速参数 --oversea_turbo\n
274
+ \ - (2.0.2) 有限支持 aab 文件上传, 强依赖`bundletool`工具, 具体请参见参数 `--bundletool_jar_path`
275
+ `auto_download_bundletool_jar`\n - (2.0.1) publish 支持 新参数 `specify_app_display_name`,
276
+ 指定 app 显示名称\n - (2.0.1) publish 支持 新参数 `need_ansi_qrcode`, 在控制台直接打印二维码, jenkins
277
+ 用户可能需要使用 `AnsiColor Plugin` 插件配合\n - (2.0.1) publish 支持 新参数 `dingtalk_custom_message`,
278
+ 可以在钉钉通知里增加自定义消息, 此命令需配合 `dingtalk_access_token` 使用\n - (2.0.1) publish 支持 新参数 `skip_fir_cli_feedback`,
263
279
  可禁止 fir-cli 发送统计信息\n - (2.0.0) publish 使用更快的存储商, 加速上传速度, 若感觉没以前可使用 switch_to_qiniu
264
- 恢复\n - (1.7.4) 配合 fastlane-plugin-fir_cli 做了一些小优化\n - (1.7.3) 新增了 上传指定图标, 不上传图标
265
- 以及 将版本固定显示在下载页上\n - (1.7.2) 修正了无论是否加参数都固定出现二维码图片的bug\n - (1.7.1) 增加了 钉钉推送 , 增加了返回指定版本下载地址\n
266
- \ - (1.7.0) 过期了ipa_build 功能, 增加了对 android manifest instant run 的兼容\n - (1.6.13)
267
- 上传图标逻辑修改\n - (1.6.12) 修复了部分机器没有默认安装 byebug 的问题\n - (1.6.11) 变化了 ruby gem 仓库地址\n
268
- \ - [fir-cli](https://github.com/firhq/fir-cli) 已经开源\n - 欢迎 fork, issue 和 pull
280
+ 恢复\n - [fir-cli](https://github.com/firhq/fir-cli) 已经开源\n - 欢迎 fork, issue 和 pull
269
281
  request\n "
270
282
  rdoc_options: []
271
283
  require_paths: