fir-cli 2.0.3.alpha → 2.0.3.beta

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
  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: