Class: Pindo::TaskSystem::JPSResignTask

Inherits:
PindoTask
  • Object
show all
Defined in:
lib/pindo/module/task/model/jps_resign_task.rb

Overview

JPS 重签名任务从 JPS 平台下载应用并使用指定证书重签名

Instance Attribute Summary collapse

Attributes inherited from PindoTask

#callbacks_setup, #context, #created_at, #dependencies, #error, #finished_at, #id, #max_retry_count, #metadata, #name, #priority, #result, #retry_count, #retry_delay, #retry_mode, #started_at, #status, #type

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from PindoTask

#before_retry, #cancel, #cancelled?, #check_cancelled!, #do_task, #execution_time, #finished?, #on, #reset_for_retry, #retryable?, #running?, #should_retry?

Constructor Details

#initialize(options = {}) ⇒ JPSResignTask

初始化 JPS 重签名任务

Parameters:

  • options (Hash) (defaults to: {})

    选项

Options Hash (options):

  • :app_info_obj (Hash)

    JPS 应用信息对象(可选,如为 nil 则延迟获取)

  • :project_name (String)

    项目名称(可选)

  • :cert_id (String)

    重签名使用的 Bundle ID(可选,nil 表示交互选择)

  • :send_flag (Boolean)

    是否发送到测试群(默认 false,始终会发送给自己)



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 35

def initialize(options = {})
  @app_info_obj = options[:app_info_obj]
  @project_name = options[:project_name]
  @cert_id = options[:cert_id]
  @send_flag = options[:send_flag] || false
  @version_info = nil

  # 设置重签名任务的优先级为 LOW,确保在上传任务之后执行
  options[:priority] ||= TaskPriority::LOW

  super("JPS 重签名", options)
end

Instance Attribute Details

#app_info_objObject (readonly)

Returns the value of attribute app_info_obj.



10
11
12
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 10

def app_info_obj
  @app_info_obj
end

#cert_idObject (readonly)

Returns the value of attribute cert_id.



10
11
12
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 10

def cert_id
  @cert_id
end

#send_flagObject (readonly)

Returns the value of attribute send_flag.



10
11
12
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 10

def send_flag
  @send_flag
end

#version_infoObject (readonly)

Returns the value of attribute version_info.



10
11
12
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 10

def version_info
  @version_info
end

Class Method Details

.default_retry_countObject



21
22
23
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 21

def self.default_retry_count
  2  # 默认可以重试 2 次
end

.default_retry_delayObject



25
26
27
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 25

def self.default_retry_delay
  10  # 默认延迟 10 秒
end

.default_retry_modeObject

重试配置



17
18
19
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 17

def self.default_retry_mode
  RetryMode::DELAYED  # 延迟重试
end

.task_typeObject



12
13
14
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 12

def self.task_type
  :jps_resign
end

Instance Method Details

#validateObject



48
49
50
51
# File 'lib/pindo/module/task/model/jps_resign_task.rb', line 48

def validate
  # app_info_obj 可以延迟获取,不在这里验证
  true
end