pindo 4.7.1 → 4.7.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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