pindo 4.7.1 → 4.7.3

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.
@@ -13,7 +13,7 @@ module Pindo
13
13
  self.summary = '获取pgyer中指定app的测试链接和二维码'
14
14
 
15
15
  self.description = <<-DESC
16
- 获取pgyer中指定app的测试链接和二维码,终端运行:pindo pgyer apptest
16
+ 获取pgyer中指定app的测试链接和二维码,终端运行:pindo pgyer resign
17
17
  DESC
18
18
 
19
19
  self.arguments = [
@@ -23,10 +23,10 @@ module Pindo
23
23
  def self.options
24
24
  [
25
25
  ['--login', '强制再次登录pgyer网站'],
26
- ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo pgyer apptest --proj=prancksoundv4'],
27
- ['--list', '列出上传记录并选择,用法:pindo pgyer apptest --list'],
28
- ['--send', '上传到之后是否发送测试信息,用法:pindo pgyer apptest --send'],
29
- ['--bundleid', '上传到之后是否发送测试信息,用法:pindo pgyer apptest --bundleid=xxxx'],
26
+ ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo pgyer resign --proj=prancksoundv4'],
27
+ ['--list', '列出上传记录并选择,用法:pindo pgyer resign --list'],
28
+ ['--send', '上传到之后是否发送测试信息,用法:pindo pgyer resign --send'],
29
+ ['--certid', '设置重签名的正式id,用法:pindo pgyer resign --resignid=com.test.bundleid'],
30
30
  ].concat(super)
31
31
  end
32
32
 
@@ -37,7 +37,8 @@ module Pindo
37
37
  @args_list_flag = argv.flag?('list', false)
38
38
  @args_send_flag = argv.flag?('send', false)
39
39
  @args_proj_name = argv.option('proj')
40
- @args_bundle_id = argv.option('bundleid')
40
+
41
+ @args_cert_id = argv.option('certid')
41
42
 
42
43
  super(argv)
43
44
  @additional_args = argv.remainder!
@@ -56,34 +57,34 @@ module Pindo
56
57
  raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
57
58
  end
58
59
 
59
-
60
+
60
61
  version_item_obj = PgyerHelper.share_instace.get_versioon_history_item(app_info_obj:app_info_obj, list_select_flat:@args_list_flag)
61
62
 
62
63
  if version_item_obj.nil?
63
64
  raise Informative, "没有找到上传记录"
64
65
  end
65
-
66
+
66
67
  cert_List = PgyerHelper.share_instace.get_cert_list()
67
-
68
+
68
69
  if cert_List.nil? || cert_List.empty?
69
70
  raise Informative, "没有找到上传记录"
70
71
  end
71
72
 
72
- if @args_bundle_id.nil? && cert_List.size > 0
73
+ if @args_cert_id.nil? && cert_List.size > 0
73
74
 
74
75
  bundle_id_list = cert_List.map { |cert| [cert["certType"],cert["mainBundleId"]].join("_") }
75
76
  cli = HighLine.new
76
- @args_bundle_id = cli.choose do |menu|
77
- menu.prompt = "请选择Pyger上的App代号:"
77
+ @args_cert_id = cli.choose do |menu|
78
+ menu.prompt = "请选择重签名的证书:"
78
79
  menu.choices(*bundle_id_list)
79
80
  end
80
-
81
- cert_item = cert_List.select{|cert| [cert["certType"],cert["mainBundleId"]].join("_") == @args_bundle_id}.first
81
+
82
+ cert_item = cert_List.select{|certitem| [certitem["certType"],certitem["mainBundleId"]].join("_") == @args_cert_id}.first
82
83
  else
83
- cert_item = cert_List.select{|item| item["mainBundleId"] == @args_bundle_id}.first
84
+ cert_item = cert_List.select{|certitem| certitem["mainBundleId"] == @args_cert_id && certitem["certType"].downcase.include?("adhoc")}.first
84
85
  end
85
86
 
86
-
87
+
87
88
 
88
89
  result = PgyerHelper.share_instace.resign(version_id:version_item_obj["id"], cert_id:cert_item["id"])
89
90
 
@@ -95,12 +96,13 @@ module Pindo
95
96
  end
96
97
  msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:version_item_obj)
97
98
  PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
98
- if @args_send_flag
99
- PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data)
99
+
100
+ if @args_send_flag
101
+ PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data, wechat_url:app_info_obj["prodWeComUrl"])
100
102
  end
101
103
  end
102
104
 
103
-
105
+
104
106
 
105
107
  end
106
108
 
@@ -16,7 +16,7 @@ module Pindo
16
16
  self.summary = '上传ipa包到pgyer测试网站'
17
17
 
18
18
  self.description = <<-DESC
19
- 上传ipa包到pgyer。用法:例如:pindo pgyer upload path/to/demo.ipa
19
+ 上传ipa包到pgyer。用法:例如:pindo pgyer upload path/to/demo.ipa
20
20
  DESC
21
21
 
22
22
  self.arguments = [
@@ -31,6 +31,8 @@ module Pindo
31
31
  ['--attach', '指定需要和ipa一起上传的附件: pindo pgyer upload --attach=path/to/attach.zip'],
32
32
  ['--send', '上传到之后是否发送测试信息,用法:pindo pgyer upload --send'],
33
33
  ['--desc', '指定上传的备注信息: -pindo pgyer upload -desc="1.upload message"'],
34
+ ['--resign', '上传到之后是否重签名,用法:pindo pgyer upload --resign'],
35
+ ['--certid', '设置重签名的正式id,用法:pindo pgyer upload --certid=com.test.bundleid'],
34
36
 
35
37
  ].concat(super)
36
38
  end
@@ -50,14 +52,26 @@ module Pindo
50
52
 
51
53
  @args_login_flag = argv.flag?('login', false)
52
54
  @args_send_flag = argv.flag?('send', false)
55
+ @args_resign_flag = argv.flag?('resign', false)
56
+
53
57
  @args_proj_name = argv.option('proj')
54
58
  @args_attach_name = argv.option('attach')
55
59
  @args_upload_desc = argv.option('desc')
60
+ @args_cert_id = argv.option('certid')
61
+
62
+
63
+
56
64
  if @args_upload_desc && !@args_upload_desc.empty?
57
65
  @args_upload_desc = @args_upload_desc.strip.gsub(/\"/, '')
58
66
  end
59
67
 
60
-
68
+
69
+ if !@args_cert_id.nil? && !@args_cert_id.empty?
70
+ @args_resign_flag = true
71
+ end
72
+ if @args_resign_flag
73
+ @args_send_flag = true
74
+ end
61
75
 
62
76
  super(argv)
63
77
  @additional_args = argv.remainder!
@@ -79,7 +93,7 @@ module Pindo
79
93
  @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
80
94
  end
81
95
  if !@args_ipa_file.nil?
82
- answer = agree("需要上传的ipa文件是: #{@args_ipa_file} ?(Y/n)")
96
+ answer = agree("需要上传的ipa文件是: #{@args_ipa_file} ?(Y/n)")
83
97
  if !answer
84
98
  @args_ipa_file = nil
85
99
  end
@@ -91,7 +105,7 @@ module Pindo
91
105
  @args_ipa_file = @args_ipa_file.strip.gsub(/\\ /, ' ')
92
106
  end
93
107
  end
94
-
108
+
95
109
  if !File.exist?(@args_ipa_file)
96
110
  raise Informative, "#{@args_ipa_file} 文件不存在"
97
111
  end
@@ -107,12 +121,26 @@ module Pindo
107
121
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
108
122
  msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:result_data["data"])
109
123
  PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
124
+
125
+
110
126
  if @args_send_flag
111
- PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data)
127
+ if @args_resign_flag
128
+ args = []
129
+ args << "--send"
130
+ if !@args_cert_id.nil? && !@args_cert_id.empty?
131
+ args << "--certid=#{@args_cert_id}"
132
+ end
133
+ if !@args_proj_name.nil? && !@args_proj_name.empty?
134
+ args << "--proj=#{@args_proj_name}"
135
+ end
136
+ Pindo::Command::Pgyer::Resign::run(args)
137
+ else
138
+ PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data)
139
+ end
112
140
  end
113
141
  end
114
142
 
115
-
143
+
116
144
 
117
145
 
118
146
  end
@@ -0,0 +1,158 @@
1
+ require 'fileutils'
2
+ require 'pindo/module/cert/xcodecerthelper'
3
+ require 'pindo/module/cert/certhelper'
4
+
5
+ module Pindo
6
+ class Command
7
+ class Utils < Command
8
+ class Renewcert < Utils
9
+
10
+ include Appselect
11
+ include XcodeCertHelper
12
+ include CertHelper
13
+
14
+ self.summary = '更新当前账号下所有的Provisioning Profile文件'
15
+
16
+ self.description = <<-DESC
17
+ 如果不存在证书,会自动生成新证书,重新生成当前账号下所有的Provisioning Profile文件. 添加新设备或者证书过期时使用, 一般情况请勿操作!!!
18
+ 用法:pindo dev renewcert
19
+ DESC
20
+
21
+ self.arguments = [
22
+
23
+ ]
24
+
25
+ def self.options
26
+ [
27
+
28
+ ['--fast', '快速更新证书,开发用bundle id只更新dev证书,发布bundle id只更新adhoc证书'],
29
+ ['--upload', '生成上传pgyer的证书'],
30
+ ['--fixedid', '重新更新bundle id的功能,检查bundle id的功能是否更新'],
31
+ ['--renew', '重新生成证书']
32
+ ].concat(super)
33
+ end
34
+
35
+
36
+ def initialize(argv)
37
+
38
+ @fast_flag = argv.flag?('fast', false)
39
+ @fixedid_flag = argv.flag?('fixedid', false)
40
+ @upload_flag = argv.flag?('upload', false)
41
+ @renew_cert_flag = argv.flag?('renew', false)
42
+ super
43
+
44
+ end
45
+
46
+
47
+ def run
48
+
49
+ @dev_bundle_id_array = all_dev_bundleid()
50
+ @tool_bundle_id_array = all_tool_bundleid()
51
+ @deploy_bundle_id_array = all_release_bundleid()
52
+ fixed_bundleid_array = @dev_bundle_id_array + @deploy_bundle_id_array + @tool_bundle_id_array
53
+
54
+ puts fixed_bundleid_array
55
+
56
+ fixed_bundleid_array.each do |bundle_id|
57
+ # begin
58
+ fixed_cert(bundle_id:bundle_id, renew_flag:@renew_cert_flag, upload_flag:@upload_flag, fixed_bundleid_flag:@fixedid_flag)
59
+ # rescue => err
60
+ # puts
61
+ # puts
62
+ # puts "Fixed #{bundle_id} cert---------Error-------!!!"
63
+ # puts
64
+ # puts
65
+ # end
66
+
67
+ end
68
+
69
+ end
70
+
71
+
72
+ def fixed_cert(bundle_id:nil, renew_flag:false, upload_flag:false, fixed_bundleid_flag: false)
73
+
74
+ args_temp = []
75
+ args_temp << "#{bundle_id}"
76
+
77
+ Pindo::Command::Deploy::Pullconfig::run(args_temp)
78
+
79
+ if fixed_bundleid_flag
80
+ Pindo::Command::Deploy::Bundleid::run([])
81
+ end
82
+
83
+ if @fast_flag
84
+
85
+ if @dev_bundle_id_array.include?(bundle_id) || @tool_bundle_id_array.include?(bundle_id)
86
+ args_temp = []
87
+ args_temp << "--a=#{bundle_id}"
88
+ args_temp << "--dev"
89
+ if renew_flag
90
+ args_temp << "--renew"
91
+ end
92
+ if upload_flag
93
+ args_temp << "--upload"
94
+ end
95
+ Pindo::Command::Deploy::Cert::run(args_temp)
96
+ end
97
+
98
+ if @deploy_bundle_id_array.include?(bundle_id)
99
+ args_temp = []
100
+ args_temp << "--a=#{bundle_id}"
101
+ args_temp << "--adhoc"
102
+ if renew_flag
103
+ args_temp << "--renew"
104
+ end
105
+ if upload_flag
106
+ args_temp << "--upload"
107
+ end
108
+ Pindo::Command::Deploy::Cert::run(args_temp)
109
+ end
110
+
111
+ else
112
+
113
+ args_temp = []
114
+ args_temp << "--a=#{bundle_id}"
115
+ args_temp << "--dev"
116
+ if renew_flag
117
+ args_temp << "--renew"
118
+ end
119
+ if upload_flag
120
+ args_temp << "--upload"
121
+ end
122
+ Pindo::Command::Deploy::Cert::run(args_temp)
123
+
124
+ args_temp = []
125
+ args_temp << "--a=#{bundle_id}"
126
+ args_temp << "--adhoc"
127
+ if renew_flag
128
+ args_temp << "--renew"
129
+ end
130
+ if upload_flag
131
+ args_temp << "--upload"
132
+ end
133
+ Pindo::Command::Deploy::Cert::run(args_temp)
134
+ end
135
+ end
136
+
137
+
138
+ def fixed_push(bundle_id:nil, fixed_bundleid: false)
139
+
140
+ Pindo::Command::Deploy::Pullconfig::run(args_temp)
141
+
142
+ args_temp = []
143
+ args_temp << "--a=#{bundle_id}"
144
+ args_temp << "--dev"
145
+ Pindo::Command::Deploy::Pem::run(args_temp)
146
+
147
+ args_temp = []
148
+ args_temp << "--a=#{bundle_id}"
149
+ args_temp << "--adhoc"
150
+ Pindo::Command::Deploy::Pem::run(args_temp)
151
+
152
+ end
153
+
154
+ end
155
+ end
156
+ end
157
+ end
158
+
@@ -4,9 +4,9 @@ require 'pindo/command/utils/renewproj'
4
4
  require 'pindo/command/utils/clearcert'
5
5
  require 'pindo/command/utils/xcassets'
6
6
  require 'pindo/command/utils/device'
7
- require 'pindo/command/utils/applovin'
8
7
  require 'pindo/command/utils/tgate'
9
8
  require 'pindo/command/utils/boss'
9
+ require 'pindo/command/utils/renewcert'
10
10
 
11
11
 
12
12
  module Pindo