fir-cli 2.0.1 → 2.0.2
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 +4 -4
 - data/README.md +26 -2
 - data/fir-cli.gemspec +2 -1
 - data/lib/fir/cli.rb +3 -0
 - data/lib/fir/util/config.rb +1 -1
 - data/lib/fir/util/info.rb +9 -0
 - data/lib/fir/util/parser/aab_analysis.rb +87 -0
 - data/lib/fir/util/publish.rb +1 -1
 - data/lib/fir/util.rb +1 -1
 - data/lib/fir/version.rb +1 -1
 - metadata +10 -8
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: f0be4b47dddfd1f8bf30b43e4443cf1218d3d5f1560de05f82a4b1057d9dbcb0
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: ee7bfaac41e3489e2adc4b8ac3b43e384aa1951b92e8ec51b3e0d9e297bebc58
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 0171d0ce3c067bcc1e14d68cc2e3cbe8b6b7ab7eeb715f0a3d57b66be2826574b2e8fe4b8a7945b54d1000dda9bb1965910e3664a85e3a742723cd99040ce90c
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: bdcdef9b53667d9dc52b9af407b40954c780cb129dbb4c8ca975ac090b7156c9ecaa81a15afd4daf5aaef999d1ac4e7c866747865ff73e95eb6e9a8e5f4ec0fe
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -14,6 +14,7 @@ fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用. 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
            # 最近更新
         
     | 
| 
      
 17 
     | 
    
         
            +
            - (2.0.2) 有限支持 aab 文件上传, 强依赖 `bundletool` 工具, 具体请参见参数 `--bundletool_jar_path` 和 `--auto_download_bundletool_jar`
         
     | 
| 
       17 
18 
     | 
    
         
             
            - (2.0.1) publish 支持 新参数 `specify_app_display_name`, 指定 app 显示名称
         
     | 
| 
       18 
19 
     | 
    
         
             
            - (2.0.1) publish 支持 新参数 `need_ansi_qrcode`, 在控制台直接打印二维码, jenkins 用户可能需要使用 `AnsiColor Plugin` 插件配合
         
     | 
| 
       19 
20 
     | 
    
         
             
            - (2.0.1) publish 支持 新参数 `dingtalk_custom_message`, 可以在钉钉通知里增加自定义消息, 此命令需配合 `dingtalk_access_token` 使用
         
     | 
| 
         @@ -31,7 +32,19 @@ fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用. 
     | 
|
| 
       31 
32 
     | 
    
         | 
| 
       32 
33 
     | 
    
         
             
            ## 热门问题
         
     | 
| 
       33 
34 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
            ###  
     | 
| 
      
 35 
     | 
    
         
            +
            ### 在 Circle CI, Travis CI 或 Github Actions 等境外服务上, 有概率超时, 能否解决?
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            由于监管要求, 我们必须将服务于存储放置在境内. 由于众所周知的原因, 国内外连通性的表现不太好, 虽然我们的存储服务商 阿里云 提供了 OSS 境外加速服务, 但是高达 1.25 元/GB 的传输成本确实我们也没办法负担. 
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            目前我们提供三种临时解决方案来缓解问题: 
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            1. 设置较长的超时时间 如 `FIR_TIMEOUT=300 fir publish xxxx`, 则可将超时时间设置为 300 秒.
         
     | 
| 
      
 42 
     | 
    
         
            +
            2. 如果fir-cli 版本 >= 2.0.0, 也可在出现超时后, 使用 `--switch-to-qiniu` 来切换到我们的另外一条存储线路. 如 `fir publish xxxx.apk --switch-to-qiniu`, 多一条线路备选.
         
     | 
| 
      
 43 
     | 
    
         
            +
            3. 如果确实对这方面服务要求很高, 则可购买我们的私有部署服务. 我们可以在 aws 上部署一套专供您使用, 具体情况可以与客服或者加我微信进行沟通.
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            更多细节请参考 [https://github.com/FIRHQ/fir-cli/issues/260](https://github.com/FIRHQ/fir-cli/issues/260)
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            ### 可以在 fastlane 里用么?
         
     | 
| 
       35 
48 
     | 
    
         | 
| 
       36 
49 
     | 
    
         
             
            可以直接在命令行里调用,也可以安装 fastlane 的配套插件 fir_cli 具体请参见 [https://github.com/FIRHQ/fastlane-plugin-fir_cli](https://github.com/FIRHQ/fastlane-plugin-fir_cli)
         
     | 
| 
       37 
50 
     | 
    
         | 
| 
         @@ -44,6 +57,17 @@ fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用. 
     | 
|
| 
       44 
57 
     | 
    
         | 
| 
       45 
58 
     | 
    
         
             
            可以在 publish 的时候使用 --specify_icon_file_path=xxx  来自己指定图标文件 或者使用  --skip_update_icon  来跳过图标文件的上传
         
     | 
| 
       46 
59 
     | 
    
         | 
| 
      
 60 
     | 
    
         
            +
            ### aab 文件能否上传?
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
            能, 但是 aab 文件手机上并不能直接安装, 需要通过桌面使用 `bundletool` 工具来生成对应手机的 `apk` 包.
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
            fir-cli 提供对 aab 文件有限程度支持的上传与下载. 在使用 fir-cli 上传 aab 文件时, 需要满足三个条件任意一条
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            1. 系统本身已经通过 `brew install bundletool` 等手段, 可以在命令行里直接调用 `bundletool`
         
     | 
| 
      
 67 
     | 
    
         
            +
            2. 上传时指定了 `--bundletool_jar_path` 参数, 参数给出了 bundletool.jar 包的地址, 且命令行可以直接调用 `java` 指令
         
     | 
| 
      
 68 
     | 
    
         
            +
            3. 能够保证 `https://github.com/google/bundletool/releases/download/#{version}/bundletool-all-#{version}.jar` 地址不被墙, 使用`--auto_download_bundletool_jar` 可以下载 `bundletool`
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
       47 
71 
     | 
    
         
             
            ### 我想将 我上传的版本展示在下载的页面上
         
     | 
| 
       48 
72 
     | 
    
         | 
| 
       49 
73 
     | 
    
         
             
            可以在 publish 的时候使用 --force_pin_history   这样 这个上传的版本即成为 "历史版本", 会在下载页面里一直显示. 当有新的版本上传后, 这个版本会作为 "历史版本" 在下载页面中展示. 
         
     | 
| 
         @@ -96,4 +120,4 @@ docker run firhq/fir-cli:latest -e API_TOKEN=XXXX -v ./1.apk:1.apk publish 1.apk 
     | 
|
| 
       96 
120 
     | 
    
         | 
| 
       97 
121 
     | 
    
         
             
            感谢支持
         
     | 
| 
       98 
122 
     | 
    
         | 
| 
       99 
     | 
    
         
            -
            
         
     | 
| 
      
 123 
     | 
    
         
            +
            
         
     | 
    
        data/fir-cli.gemspec
    CHANGED
    
    | 
         @@ -27,6 +27,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       27 
27 
     | 
    
         
             
                /_/   /___/_/ |_|      \____/_____/___/
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
              ## 更新记录
         
     | 
| 
      
 30 
     | 
    
         
            +
              - (2.0.2.beta) 有限支持 aab 文件上传, 强依赖`bundletool`工具, 具体请参见参数 `--bundletool_jar_path` 和 `auto_download_bundletool_jar`
         
     | 
| 
       30 
31 
     | 
    
         
             
              - (2.0.1) publish 支持 新参数 `specify_app_display_name`, 指定 app 显示名称
         
     | 
| 
       31 
32 
     | 
    
         
             
              - (2.0.1) publish 支持 新参数 `need_ansi_qrcode`, 在控制台直接打印二维码, jenkins 用户可能需要使用 `AnsiColor Plugin` 插件配合
         
     | 
| 
       32 
33 
     | 
    
         
             
              - (2.0.1) publish 支持 新参数 `dingtalk_custom_message`, 可以在钉钉通知里增加自定义消息, 此命令需配合 `dingtalk_access_token` 使用
         
     | 
| 
         @@ -50,7 +51,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       50 
51 
     | 
    
         
             
              spec.add_development_dependency 'minitest', '~> 5.7'
         
     | 
| 
       51 
52 
     | 
    
         
             
              spec.add_development_dependency 'pry',      '~> 0.10'
         
     | 
| 
       52 
53 
     | 
    
         | 
| 
       53 
     | 
    
         
            -
              spec.add_dependency 'admqr_knife',    '~> 0.1. 
     | 
| 
      
 54 
     | 
    
         
            +
              spec.add_dependency 'admqr_knife',    '~> 0.1.5'
         
     | 
| 
       54 
55 
     | 
    
         
             
              spec.add_dependency 'thor',           '~> 0.19'
         
     | 
| 
       55 
56 
     | 
    
         
             
              spec.add_dependency 'rest-client',    '~> 2.0'
         
     | 
| 
       56 
57 
     | 
    
         
             
              spec.add_dependency 'ruby_android_apk',   '~> 0.7.7.1'
         
     | 
    
        data/lib/fir/cli.rb
    CHANGED
    
    | 
         @@ -126,6 +126,9 @@ module FIR 
     | 
|
| 
       126 
126 
     | 
    
         | 
| 
       127 
127 
     | 
    
         
             
                method_option :open,        type: :boolean, desc: 'true/false if open for everyone'
         
     | 
| 
       128 
128 
     | 
    
         
             
                method_option :password,    type: :string,  desc: 'Set password for app'
         
     | 
| 
      
 129 
     | 
    
         
            +
             
     | 
| 
      
 130 
     | 
    
         
            +
                method_option :bundletool_jar_path, type: :string, desc: "upload aab file command:  to specify bundletool.jar if command bundletool can not run directly"
         
     | 
| 
      
 131 
     | 
    
         
            +
                method_option :auto_download_bundletool_jar, type: :boolean, default: false, desc: "upload aab file command: would download bundletool when invoke bundletool failure"
         
     | 
| 
       129 
132 
     | 
    
         
             
                def publish(*args)
         
     | 
| 
       130 
133 
     | 
    
         
             
                  prepare :publish
         
     | 
| 
       131 
134 
     | 
    
         | 
    
        data/lib/fir/util/config.rb
    CHANGED
    
    | 
         @@ -6,7 +6,7 @@ module FIR 
     | 
|
| 
       6 
6 
     | 
    
         
             
                APP_INFO_PATH = "#{ENV['HOME']}/.fir-cli-app"
         
     | 
| 
       7 
7 
     | 
    
         
             
                API_YML_PATH  = ENV['API_YML_PATH'] || File.expand_path('../../', __FILE__) + '/api.yml'
         
     | 
| 
       8 
8 
     | 
    
         
             
                XCODE_WRAPPER_PATH  = File.expand_path('../../', __FILE__) + '/xcode_wrapper.sh'
         
     | 
| 
       9 
     | 
    
         
            -
                APP_FILE_TYPE = %w(.ipa .apk).freeze
         
     | 
| 
      
 9 
     | 
    
         
            +
                APP_FILE_TYPE = %w(.ipa .apk .aab).freeze
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
                def fir_api
         
     | 
| 
       12 
12 
     | 
    
         
             
                  @fir_api ||= YAML.load_file(API_YML_PATH).deep_symbolize_keys[:fir]
         
     | 
    
        data/lib/fir/util/info.rb
    CHANGED
    
    | 
         @@ -30,6 +30,15 @@ module FIR 
     | 
|
| 
       30 
30 
     | 
    
         
             
                  info
         
     | 
| 
       31 
31 
     | 
    
         
             
                end
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
      
 33 
     | 
    
         
            +
                def aab_info(aab_path, options = {})
         
     | 
| 
      
 34 
     | 
    
         
            +
                  bundletool_jar_path = options[:bundletool_jar_path]
         
     | 
| 
      
 35 
     | 
    
         
            +
                  auto_download_bundletool_jar = options[:auto_download_bundletool_jar] || false
         
     | 
| 
      
 36 
     | 
    
         
            +
                  s = FIR::Parser::AabAnalysis.new(aab_path, bundletool_jar_path, auto_download_bundletool_jar)
         
     | 
| 
      
 37 
     | 
    
         
            +
                  info = s.info
         
     | 
| 
      
 38 
     | 
    
         
            +
                  info[:file_path] = aab_path
         
     | 
| 
      
 39 
     | 
    
         
            +
                  info
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
       33 
42 
     | 
    
         
             
                def apk_info(apk_path, options = {})
         
     | 
| 
       34 
43 
     | 
    
         
             
                  apk  = FIR::Parser::Apk.new(apk_path)
         
     | 
| 
       35 
44 
     | 
    
         
             
                  info = apk.full_info(options)
         
     | 
| 
         @@ -0,0 +1,87 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
            # require 'byebug'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            require 'open3'
         
     | 
| 
      
 5 
     | 
    
         
            +
            module FIR
         
     | 
| 
      
 6 
     | 
    
         
            +
              module Parser
         
     | 
| 
      
 7 
     | 
    
         
            +
                class AabAnalysis
         
     | 
| 
      
 8 
     | 
    
         
            +
                  attr_accessor :aab_file, :head_xml, :bundletool_jar_path, :auto_download_bundletool_jar
         
     | 
| 
      
 9 
     | 
    
         
            +
                  def initialize(aab_file, bundletool_jar_path = nil, auto_download_bundletool_jar = false)
         
     | 
| 
      
 10 
     | 
    
         
            +
                    @aab_file = aab_file
         
     | 
| 
      
 11 
     | 
    
         
            +
                    @bundletool_jar_path = bundletool_jar_path
         
     | 
| 
      
 12 
     | 
    
         
            +
                    @auto_download_bundletool_jar = auto_download_bundletool_jar
         
     | 
| 
      
 13 
     | 
    
         
            +
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  def info
         
     | 
| 
      
 16 
     | 
    
         
            +
                    insure_exists_bundlebool # 确保bundlebool 正常
         
     | 
| 
      
 17 
     | 
    
         
            +
                    fetch_first_xml # 读取生成的第一句
         
     | 
| 
      
 18 
     | 
    
         
            +
                    read_from_xml # 读取有用的的信息
         
     | 
| 
      
 19 
     | 
    
         
            +
                  end
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                  def read_from_xml
         
     | 
| 
      
 22 
     | 
    
         
            +
                    # 不到迫不得已 不要引用Nokogiri, 免得又装不来依赖
         
     | 
| 
      
 23 
     | 
    
         
            +
                    {
         
     | 
| 
      
 24 
     | 
    
         
            +
                      type: 'android',
         
     | 
| 
      
 25 
     | 
    
         
            +
                      name: "AAB #{File.basename(@aab_file)}",
         
     | 
| 
      
 26 
     | 
    
         
            +
                      identifier: read_from_attribute('package'),
         
     | 
| 
      
 27 
     | 
    
         
            +
                      build: read_from_attribute('versionCode'),
         
     | 
| 
      
 28 
     | 
    
         
            +
                      version: read_from_attribute('versionName')
         
     | 
| 
      
 29 
     | 
    
         
            +
                    }
         
     | 
| 
      
 30 
     | 
    
         
            +
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                  private
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                  def fetch_first_xml
         
     | 
| 
      
 35 
     | 
    
         
            +
                    cmd = if bundletool_jar_path
         
     | 
| 
      
 36 
     | 
    
         
            +
                      "java -jar #{bundletool_jar_path} dump manifest --bundle=#{aab_file}"
         
     | 
| 
      
 37 
     | 
    
         
            +
                    else
         
     | 
| 
      
 38 
     | 
    
         
            +
                      "bundletool dump manifest --bundle=#{aab_file}"
         
     | 
| 
      
 39 
     | 
    
         
            +
                    end
         
     | 
| 
      
 40 
     | 
    
         
            +
                    
         
     | 
| 
      
 41 
     | 
    
         
            +
                    _stdin, stdout, _stderr, _wait_thr = Open3.popen3(cmd)
         
     | 
| 
      
 42 
     | 
    
         
            +
                    @head_xml = stdout.read.split("\n").first
         
     | 
| 
      
 43 
     | 
    
         
            +
                    FIR.logger.info "aab manifest: #{@head_xml}"
         
     | 
| 
      
 44 
     | 
    
         
            +
                  end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  def insure_exists_bundlebool
         
     | 
| 
      
 47 
     | 
    
         
            +
                    # 如果用户传了 bundletool_path, 且存在
         
     | 
| 
      
 48 
     | 
    
         
            +
                    if !bundletool_jar_path.nil? && File.exist?(bundletool_jar_path)
         
     | 
| 
      
 49 
     | 
    
         
            +
                      FIR.logger.info "bundletool_jar_path = #{bundletool_jar_path}"
         
     | 
| 
      
 50 
     | 
    
         
            +
                      return
         
     | 
| 
      
 51 
     | 
    
         
            +
                    end
         
     | 
| 
      
 52 
     | 
    
         
            +
                    
         
     | 
| 
      
 53 
     | 
    
         
            +
                    return if could_run_bundletool_directly?
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                    download_bundletool if auto_download_bundletool_jar
         
     | 
| 
      
 56 
     | 
    
         
            +
                  end
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                  def could_run_bundletool_directly?
         
     | 
| 
      
 59 
     | 
    
         
            +
                    _stdin, stdout, _stderr, _wait_thr = Open3.popen3 'bundletool'
         
     | 
| 
      
 60 
     | 
    
         
            +
                    answer = stdout.read != ''
         
     | 
| 
      
 61 
     | 
    
         
            +
                    FIR.logger.info "can invoke bundletool directly cool!" if answer
         
     | 
| 
      
 62 
     | 
    
         
            +
                    answer
         
     | 
| 
      
 63 
     | 
    
         
            +
                  rescue StandardError => e
         
     | 
| 
      
 64 
     | 
    
         
            +
                    FIR.logger.error 'can not run bundletool directly'
         
     | 
| 
      
 65 
     | 
    
         
            +
                    false
         
     | 
| 
      
 66 
     | 
    
         
            +
                  end
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
                  def download_bundletool(version = '0.11.0')
         
     | 
| 
      
 69 
     | 
    
         
            +
                    FIR.logger.log("Downloading bundletool (#{version}) from https://github.com/google/bundletool/releases/download/#{version}/bundletool-all-#{version}.jar...")
         
     | 
| 
      
 70 
     | 
    
         
            +
                    Dir.mkdir './bundletool_temp'
         
     | 
| 
      
 71 
     | 
    
         
            +
                    open("https://github.com/google/bundletool/releases/download/#{version}/bundletool-all-#{version}.jar") do |bundletool|
         
     | 
| 
      
 72 
     | 
    
         
            +
                      File.open('./bundletool.jar', 'wb') do |file|
         
     | 
| 
      
 73 
     | 
    
         
            +
                        file.write(bundletool.read)
         
     | 
| 
      
 74 
     | 
    
         
            +
                      end
         
     | 
| 
      
 75 
     | 
    
         
            +
                    end
         
     | 
| 
      
 76 
     | 
    
         
            +
                    @bundletool_jar_path = './bundletool.jar'
         
     | 
| 
      
 77 
     | 
    
         
            +
                    FIR.logger.info('Downloaded bundletool')
         
     | 
| 
      
 78 
     | 
    
         
            +
                  rescue StandardError => e
         
     | 
| 
      
 79 
     | 
    
         
            +
                    FIR.logger.error("Something went wrong when downloading bundletool version #{version}")
         
     | 
| 
      
 80 
     | 
    
         
            +
                  end
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
                  def read_from_attribute(name)
         
     | 
| 
      
 83 
     | 
    
         
            +
                    /#{name}=\"(.*?)\"/.match(@head_xml)[1]
         
     | 
| 
      
 84 
     | 
    
         
            +
                  end
         
     | 
| 
      
 85 
     | 
    
         
            +
                end
         
     | 
| 
      
 86 
     | 
    
         
            +
              end
         
     | 
| 
      
 87 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/fir/util/publish.rb
    CHANGED
    
    | 
         @@ -211,7 +211,7 @@ module FIR 
     | 
|
| 
       211 
211 
     | 
    
         
             
                  @passwd = options[:password].to_s
         
     | 
| 
       212 
212 
     | 
    
         
             
                  @is_opened = @passwd.blank? ? options[:open] : false
         
     | 
| 
       213 
213 
     | 
    
         
             
                  @export_qrcode = !!options[:qrcode]
         
     | 
| 
       214 
     | 
    
         
            -
                  @app_info = send("#{@file_type}_info", @file_path, full_info: true)
         
     | 
| 
      
 214 
     | 
    
         
            +
                  @app_info = send("#{@file_type}_info", @file_path, options.merge(full_info: true))
         
     | 
| 
       215 
215 
     | 
    
         
             
                  @user_info = fetch_user_info(@token)
         
     | 
| 
       216 
216 
     | 
    
         
             
                  @uploading_info = fetch_uploading_info # 获得上传信息
         
     | 
| 
       217 
217 
     | 
    
         
             
                  @app_id = @uploading_info[:id]
         
     | 
    
        data/lib/fir/util.rb
    CHANGED
    
    | 
         @@ -4,7 +4,7 @@ require_relative './util/http' 
     | 
|
| 
       4 
4 
     | 
    
         
             
            require_relative './util/config'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require_relative './util/parser/apk'
         
     | 
| 
       6 
6 
     | 
    
         
             
            require_relative './util/parser/ipa'
         
     | 
| 
       7 
     | 
    
         
            -
            require_relative './util/parser/ 
     | 
| 
      
 7 
     | 
    
         
            +
            require_relative './util/parser/aab_analysis'
         
     | 
| 
       8 
8 
     | 
    
         
             
            require_relative './util/login'
         
     | 
| 
       9 
9 
     | 
    
         
             
            require_relative './util/me'
         
     | 
| 
       10 
10 
     | 
    
         
             
            require_relative './util/info'
         
     | 
    
        data/lib/fir/version.rb
    CHANGED
    
    
    
        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. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.0.2
         
     | 
| 
       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- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2019-12-17 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -87,14 +87,14 @@ dependencies: 
     | 
|
| 
       87 
87 
     | 
    
         
             
                requirements:
         
     | 
| 
       88 
88 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       89 
89 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       90 
     | 
    
         
            -
                    version: 0.1. 
     | 
| 
      
 90 
     | 
    
         
            +
                    version: 0.1.5
         
     | 
| 
       91 
91 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       92 
92 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       93 
93 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       94 
94 
     | 
    
         
             
                requirements:
         
     | 
| 
       95 
95 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       96 
96 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       97 
     | 
    
         
            -
                    version: 0.1. 
     | 
| 
      
 97 
     | 
    
         
            +
                    version: 0.1.5
         
     | 
| 
       98 
98 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       99 
99 
     | 
    
         
             
              name: thor
         
     | 
| 
       100 
100 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -237,6 +237,7 @@ files: 
     | 
|
| 
       237 
237 
     | 
    
         
             
            - lib/fir/util/login.rb
         
     | 
| 
       238 
238 
     | 
    
         
             
            - lib/fir/util/mapping.rb
         
     | 
| 
       239 
239 
     | 
    
         
             
            - lib/fir/util/me.rb
         
     | 
| 
      
 240 
     | 
    
         
            +
            - lib/fir/util/parser/aab_analysis.rb
         
     | 
| 
       240 
241 
     | 
    
         
             
            - lib/fir/util/parser/apk.rb
         
     | 
| 
       241 
242 
     | 
    
         
             
            - lib/fir/util/parser/bin/pngcrush
         
     | 
| 
       242 
243 
     | 
    
         
             
            - lib/fir/util/parser/common.rb
         
     | 
| 
         @@ -267,10 +268,11 @@ metadata: {} 
     | 
|
| 
       267 
268 
     | 
    
         
             
            post_install_message: "\n        ______________        ________    ____\n       /
         
     | 
| 
       268 
269 
     | 
    
         
             
              ____/  _/ __ \\      / ____/ /   /  _/\n      / /_   / // /_/ /_____/ /   / /    /
         
     | 
| 
       269 
270 
     | 
    
         
             
              /\n     / __/ _/ // _, _/_____/ /___/ /____/ /\n    /_/   /___/_/ |_|      \\____/_____/___/\n\n
         
     | 
| 
       270 
     | 
    
         
            -
              \ ## 更新记录\n  - (2.0. 
     | 
| 
       271 
     | 
    
         
            -
               
     | 
| 
       272 
     | 
    
         
            -
               
     | 
| 
       273 
     | 
    
         
            -
               
     | 
| 
      
 271 
     | 
    
         
            +
              \ ## 更新记录\n  - (2.0.2.beta) 有限支持 aab 文件上传, 强依赖`bundletool`工具, 具体请参见参数 `--bundletool_jar_path`
         
     | 
| 
      
 272 
     | 
    
         
            +
              和 `auto_download_bundletool_jar`\n  - (2.0.1) publish 支持 新参数 `specify_app_display_name`,
         
     | 
| 
      
 273 
     | 
    
         
            +
              指定 app 显示名称\n  - (2.0.1) publish 支持 新参数 `need_ansi_qrcode`, 在控制台直接打印二维码, jenkins
         
     | 
| 
      
 274 
     | 
    
         
            +
              用户可能需要使用 `AnsiColor Plugin` 插件配合\n  - (2.0.1) publish 支持 新参数 `dingtalk_custom_message`,
         
     | 
| 
      
 275 
     | 
    
         
            +
              可以在钉钉通知里增加自定义消息, 此命令需配合 `dingtalk_access_token` 使用\n  - (2.0.1) publish 支持 新参数 `skip_fir_cli_feedback`,
         
     | 
| 
       274 
276 
     | 
    
         
             
              可禁止 fir-cli 发送统计信息\n  - (2.0.0) publish 使用更快的存储商, 加速上传速度, 若感觉没以前可使用 switch_to_qiniu
         
     | 
| 
       275 
277 
     | 
    
         
             
              恢复\n  - (1.7.4) 配合 fastlane-plugin-fir_cli 做了一些小优化\n  - (1.7.3) 新增了 上传指定图标, 不上传图标
         
     | 
| 
       276 
278 
     | 
    
         
             
              以及 将版本固定显示在下载页上\n  - (1.7.2) 修正了无论是否加参数都固定出现二维码图片的bug\n  - (1.7.1) 增加了 钉钉推送 , 增加了返回指定版本下载地址\n
         
     |