pindo 4.6.9 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/base/aeshelper.rb +48 -2
  3. data/lib/pindo/base/funlog.rb +89 -0
  4. data/lib/pindo/base/githelper.rb +30 -12
  5. data/lib/pindo/base/plaininformative.rb +3 -0
  6. data/lib/pindo/base/standarderror.rb +1 -0
  7. data/lib/pindo/base/xcodeconst.rb +251 -0
  8. data/lib/pindo/client/applovinclient.rb +6 -3
  9. data/lib/pindo/client/aws3sclient.rb +33 -46
  10. data/lib/pindo/client/bossclient.rb +1 -1
  11. data/lib/pindo/client/pgyerclient.rb +78 -14
  12. data/lib/pindo/command/appstore/iap.rb +43 -0
  13. data/lib/pindo/command/appstore/itcapp.rb +41 -0
  14. data/lib/pindo/command/appstore/metadata.rb +43 -0
  15. data/lib/pindo/command/appstore/screenshots.rb +43 -0
  16. data/lib/pindo/command/appstore/upload.rb +40 -0
  17. data/lib/pindo/command/appstore.rb +17 -0
  18. data/lib/pindo/command/deploy/build.rb +109 -0
  19. data/lib/pindo/{deploy → command/deploy}/bundleid.rb +1 -1
  20. data/lib/pindo/command/deploy/cert.rb +179 -0
  21. data/lib/pindo/command/deploy/configproj.rb +105 -0
  22. data/lib/pindo/{deploy → command/deploy}/getitcinfo.rb +1 -1
  23. data/lib/pindo/{deploy → command/deploy}/iap.rb +30 -9
  24. data/lib/pindo/{deploy → command/deploy}/itcapp.rb +0 -1
  25. data/lib/pindo/{deploy → command/deploy}/itcinfo.rb +2 -3
  26. data/lib/pindo/{deploy → command/deploy}/pem.rb +3 -2
  27. data/lib/pindo/{deploy → command/deploy}/resign.rb +14 -63
  28. data/lib/pindo/command/deploy.rb +44 -0
  29. data/lib/pindo/{dev → command/dev}/autobuild.rb +17 -80
  30. data/lib/pindo/{dev → command/dev}/autoresign.rb +17 -64
  31. data/lib/pindo/{dev → command/dev}/createbuild.rb +0 -2
  32. data/lib/pindo/{dev → command/dev}/debug.rb +6 -2
  33. data/lib/pindo/command/dev/pgyercert.rb +75 -0
  34. data/lib/pindo/command/dev.rb +25 -0
  35. data/lib/pindo/command/env.rb +17 -0
  36. data/lib/pindo/{ipa → command/ipa}/autoresign.rb +18 -70
  37. data/lib/pindo/{ipa → command/ipa}/import.rb +47 -102
  38. data/lib/pindo/{ipa → command/ipa}/output.rb +38 -135
  39. data/lib/pindo/command/ipa.rb +16 -0
  40. data/lib/pindo/{lib → command/lib}/update.rb +19 -10
  41. data/lib/pindo/command/lib.rb +16 -0
  42. data/lib/pindo/{pgyer → command/pgyer}/apptest.rb +7 -29
  43. data/lib/pindo/{pgyer → command/pgyer}/comment.rb +7 -30
  44. data/lib/pindo/{pgyer → command/pgyer}/download.rb +35 -30
  45. data/lib/pindo/{pgyer → command/pgyer}/login.rb +3 -4
  46. data/lib/pindo/command/pgyer/resign.rb +111 -0
  47. data/lib/pindo/command/pgyer/upload.rb +123 -0
  48. data/lib/pindo/command/pgyer.rb +18 -0
  49. data/lib/pindo/{repo.rb → command/repo.rb} +4 -4
  50. data/lib/pindo/{utils → command/utils}/applovin.rb +43 -33
  51. data/lib/pindo/{utils → command/utils}/boss.rb +3 -3
  52. data/lib/pindo/command/utils/icon.rb +81 -0
  53. data/lib/pindo/{utils → command/utils}/renewproj.rb +1 -0
  54. data/lib/pindo/command/utils.rb +26 -0
  55. data/lib/pindo/command.rb +23 -26
  56. data/lib/pindo/module/build/swarkhelper.rb +95 -0
  57. data/lib/pindo/module/cert/certhelper.rb +176 -0
  58. data/lib/pindo/module/cert/keychainhelper.rb +138 -0
  59. data/lib/pindo/module/{pemcreate.rb → cert/pemhelper.rb} +3 -1
  60. data/lib/pindo/module/cert/provisioninghelper.rb +137 -0
  61. data/lib/pindo/module/cert/xcodecerthelper.rb +301 -0
  62. data/lib/pindo/module/{pgyerhelper.rb → pgyer/pgyerhelper.rb} +246 -35
  63. data/lib/pindo/module/xcode/xcodeappconfig.rb +188 -0
  64. data/lib/pindo/module/xcode/xcodebuildconfig.rb +12 -0
  65. data/lib/pindo/module/xcode/xcodebuildhelper.rb +312 -0
  66. data/lib/pindo/module/xcode/xcoderesconstant.rb +248 -0
  67. data/lib/pindo/module/xcode/xcodereshandler.rb +198 -0
  68. data/lib/pindo/module/xcode/xcodereshelper.rb +120 -0
  69. data/lib/pindo/options/appconfigoptions.rb +1 -0
  70. data/lib/pindo/options/deployoptions.rb +38 -41
  71. data/lib/pindo/version.rb +1 -1
  72. metadata +109 -97
  73. data/lib/pindo/deploy/Fastfile +0 -233
  74. data/lib/pindo/deploy/build.rb +0 -167
  75. data/lib/pindo/deploy/cert.rb +0 -508
  76. data/lib/pindo/deploy/configproj.rb +0 -89
  77. data/lib/pindo/deploy.rb +0 -44
  78. data/lib/pindo/dev.rb +0 -23
  79. data/lib/pindo/env/flutter.rb +0 -59
  80. data/lib/pindo/env/flutter.sh +0 -116
  81. data/lib/pindo/env.rb +0 -17
  82. data/lib/pindo/ipa.rb +0 -22
  83. data/lib/pindo/lib.rb +0 -18
  84. data/lib/pindo/module/buildconfighelper.rb +0 -13
  85. data/lib/pindo/module/buildhelper.rb +0 -76
  86. data/lib/pindo/module/config_project.sh +0 -143
  87. data/lib/pindo/module/configprojhelper.rb +0 -631
  88. data/lib/pindo/module/icon_contents.json +0 -116
  89. data/lib/pindo/module/imessage_icon.json +0 -91
  90. data/lib/pindo/module/imgset_contents.json +0 -21
  91. data/lib/pindo/module/launchimg_contents.json +0 -21
  92. data/lib/pindo/module/xcodebuildpre.rb +0 -258
  93. data/lib/pindo/pgyer/upload.rb +0 -234
  94. data/lib/pindo/pgyer.rb +0 -17
  95. data/lib/pindo/utils/icon.rb +0 -91
  96. data/lib/pindo/utils/icon.sh +0 -133
  97. data/lib/pindo/utils/podindex.rb +0 -56
  98. data/lib/pindo/utils/podindex.sh +0 -30
  99. data/lib/pindo/utils.rb +0 -29
  100. /data/lib/pindo/{deploy → command/deploy}/check.rb +0 -0
  101. /data/lib/pindo/{deploy → command/deploy}/confusecode.rb +0 -0
  102. /data/lib/pindo/{deploy → command/deploy}/confuseproj.rb +0 -0
  103. /data/lib/pindo/{deploy → command/deploy}/fabric.rb +0 -0
  104. /data/lib/pindo/{deploy → command/deploy}/initconfig.rb +0 -0
  105. /data/lib/pindo/{deploy → command/deploy}/pullconfig.rb +0 -0
  106. /data/lib/pindo/{deploy → command/deploy}/pushconfig.rb +0 -0
  107. /data/lib/pindo/{deploy → command/deploy}/quswark.rb +0 -0
  108. /data/lib/pindo/{deploy → command/deploy}/quswauth.rb +0 -0
  109. /data/lib/pindo/{deploy → command/deploy}/reportbug.rb +0 -0
  110. /data/lib/pindo/{deploy → command/deploy}/tag.rb +0 -0
  111. /data/lib/pindo/{deploy → command/deploy}/updateconfig.rb +0 -0
  112. /data/lib/pindo/{deploy → command/deploy}/uploadipa.rb +0 -0
  113. /data/lib/pindo/{dev → command/dev}/confusecode.rb +0 -0
  114. /data/lib/pindo/{dev → command/dev}/confuseproj.rb +0 -0
  115. /data/lib/pindo/{dev → command/dev}/pub.rb +0 -0
  116. /data/lib/pindo/{dev → command/dev}/renewcert.rb +0 -0
  117. /data/lib/pindo/{env → command/env}/dreamstudio.rb +0 -0
  118. /data/lib/pindo/{env → command/env}/quarkenv.rb +0 -0
  119. /data/lib/pindo/{env → command/env}/swarkenv.rb +0 -0
  120. /data/lib/pindo/{env → command/env}/workhard.rb +0 -0
  121. /data/lib/pindo/{lib → command/lib}/forcepush.rb +0 -0
  122. /data/lib/pindo/{lib → command/lib}/lint.rb +0 -0
  123. /data/lib/pindo/{lib → command/lib}/push.rb +0 -0
  124. /data/lib/pindo/{repo → command/repo}/clone.rb +0 -0
  125. /data/lib/pindo/{repo → command/repo}/create.rb +0 -0
  126. /data/lib/pindo/{repo → command/repo}/login.rb +0 -0
  127. /data/lib/pindo/{repo → command/repo}/search.rb +0 -0
  128. /data/lib/pindo/{setup.rb → command/setup.rb} +0 -0
  129. /data/lib/pindo/{upgrade.rb → command/upgrade.rb} +0 -0
  130. /data/lib/pindo/{utils → command/utils}/clearcert.rb +0 -0
  131. /data/lib/pindo/{utils → command/utils}/device.rb +0 -0
  132. /data/lib/pindo/{utils → command/utils}/tgate.rb +0 -0
  133. /data/lib/pindo/{utils → command/utils}/xcassets.rb +0 -0
  134. /data/lib/pindo/{utils → command/utils}/xcassets.sh +0 -0
  135. /data/lib/pindo/module/{appstore_in_app_purchase.rb → appstore/appstore_in_app_purchase.rb} +0 -0
  136. /data/lib/pindo/module/{appstore_metadata_connect_api_helper.rb → appstore/appstore_metadata_connect_api_helper.rb} +0 -0
  137. /data/lib/pindo/module/{appstore_metadata_fastlane_helper.rb → appstore/appstore_metadata_fastlane_helper.rb} +0 -0
  138. /data/lib/pindo/module/{iap_tier.json → appstore/iap_tier.json} +0 -0
  139. /data/lib/pindo/module/{commonconfuseproj.rb → build/commonconfuseproj.rb} +0 -0
  140. /data/lib/pindo/module/{xcodehelper.rb → xcode/xcodehelper.rb} +0 -0
@@ -57,7 +57,11 @@ module Pindo
57
57
  mainapp_bundleid = get_selected_dev_bundleid()
58
58
  end
59
59
 
60
- prepare_for_upload()
60
+ app_info_obj = nil
61
+ if @args_upload_flag || @args_send_flag
62
+ proj_name = @args_proj_name
63
+ app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:proj_name)
64
+ end
61
65
 
62
66
  args_temp = []
63
67
  args_temp << mainapp_bundleid
@@ -68,12 +72,11 @@ module Pindo
68
72
  config_json_file = File.join(project_dir,"config.json")
69
73
  Debug::modify_cert_with_project(project_dir:project_dir, config_file:config_json_file)
70
74
 
71
-
72
75
  if File.exist?(File.join(project_dir, "Podfile"))
73
76
 
74
77
  args_temp = []
75
78
  args_temp << config_json_file
76
- Pindo::Command::Utils::Podindex::run([])
79
+ Pindo::Command::Lib::Update::run([])
77
80
 
78
81
  begin
79
82
  if File.exist?(File.join(project_dir, "Podfile.lock"))
@@ -112,91 +115,25 @@ module Pindo
112
115
  Dir.chdir(project_dir)
113
116
  Pindo::Command::Deploy::Build::run(args_temp)
114
117
 
115
- puts "Buiid Done !!!"
116
- system "open #{project_dir}"
117
-
118
-
119
- build_path = File.join(project_dir, "build", "*.ipa")
118
+ pindo_new_project_dir = Dir.pwd
119
+ build_path = File.join(pindo_new_project_dir, "build", "*.ipa")
120
120
  ipa_file_upload = Dir.glob(build_path).max_by {|f| File.mtime(f)}
121
121
 
122
-
123
- if !ipa_file_upload.nil? && !@args_proj_name.nil?
124
-
125
- description = nil
126
- if File.exist?(File.join(project_dir, ".release_info"))
127
- description = File.read(File.join(project_dir, ".release_info"))
128
- end
129
- if description.nil?
130
- commit_id_info = git_latest_commit_id(local_repo_dir:project_dir)
131
- description = "commit " + commit_id_info
132
- end
133
- start_upload(pgyer_proj_name:@args_proj_name, ipa_file_upload:ipa_file_upload, description:description, args_send_flag:@args_send_flag)
134
- end
135
-
136
- end
137
-
138
- def prepare_for_upload
139
-
140
- if @args_upload_flag
141
- if @args_proj_name.nil?
142
- xcodeproj_file_name = Dir.glob(File.join(Dir.pwd, "/*.xcodeproj")).max_by {|f| File.mtime(f)}
143
- proj_name = File.basename(xcodeproj_file_name, ".xcodeproj") if xcodeproj_file_name
144
- if !proj_name.nil?
145
- puts
146
- answer = agree("Pgyer的App项目代号是: #{proj_name} ?(Y/n)")
147
- if answer
148
- @args_proj_name = proj_name
149
- end
150
- end
151
- end
152
-
153
- @pgyer_client = PgyerClient.new
154
- app_info_obj = nil
155
- login_success = @pgyer_client.do_login(force_login:@args_login_flag)
156
- if login_success
157
- PgyerHelper.share_instace.get_app_list_in_pgyer(client:@pgyer_client)
158
- if !@args_proj_name.nil?
159
- app_info_obj = PgyerHelper.share_instace.find_app_info_with_obj_list(proj_name:@args_proj_name)
160
- end
161
-
162
- if app_info_obj.nil?
163
- proj_name = ask('请输入Pyger上的App代号(大小写空格忽略):') || nil
164
- @args_proj_name = proj_name
165
- app_info_obj = PgyerHelper.share_instace.find_app_info_with_obj_list(proj_name:@args_proj_name)
122
+ if !ipa_file_upload.nil? && !app_info_obj.nil?
123
+ result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:nil)
124
+ if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
125
+ msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:result_data["data"])
126
+ PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
127
+ if @args_send_flag
128
+ PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data)
166
129
  end
167
130
  end
168
-
169
- if app_info_obj.nil?
170
- raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
171
- end
172
-
173
131
  end
132
+
133
+ system "open #{project_dir}"
174
134
 
175
135
  end
176
136
 
177
- def start_upload(pgyer_proj_name:nil, ipa_file_upload:nil, description:nil, args_send_flag:true)
178
-
179
- if !pgyer_proj_name.nil? && !ipa_file_upload.nil?
180
-
181
-
182
- args_temp = []
183
- pgyer_proj_name = pgyer_proj_name.strip.gsub(/ /, '')
184
- args_temp << "--proj=#{pgyer_proj_name}"
185
- args_temp << "--ipa=\"#{ipa_file_upload}\""
186
-
187
- if args_send_flag
188
- args_temp << "--send"
189
- end
190
-
191
- if !description.nil?
192
- args_temp << "--desc=\"#{description}\""
193
- end
194
-
195
- puts args_temp
196
- Pindo::Command::Pgyer::Upload::run(args_temp)
197
- end
198
- end
199
-
200
137
  end
201
138
  end
202
139
  end
@@ -88,7 +88,11 @@ module Pindo
88
88
 
89
89
  Pindo::Command::Deploy::Pullconfig::run(args_temp)
90
90
 
91
- prepare_for_upload()
91
+ proj_name = nil
92
+ if @args_upload_flag || @args_send_flag
93
+ proj_name = @args_proj_name
94
+ proj_name = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:proj_name)
95
+ end
92
96
 
93
97
  args_temp = []
94
98
  if @args_adhoc_flag
@@ -106,10 +110,18 @@ module Pindo
106
110
  ipa_file_name = File::expand_path(ipa_file_name)
107
111
  ipa_base_name = File.basename(ipa_file_name, ".ipa")
108
112
  ipa_dir = File.dirname(ipa_file_name)
109
- resign_ipa_name = File.join(ipa_dir, ipa_base_name + "_resigned.ipa")
110
-
111
- if File.exist?(resign_ipa_name) && (@args_upload_flag || !@args_proj_name.nil?)
112
- start_upload(pgyer_proj_name:@args_proj_name, ipa_file_upload:resign_ipa_name, description:nil, args_send_flag:@args_send_flag)
113
+ ipa_file_upload = File.join(ipa_dir, ipa_base_name + "_resigned.ipa")
114
+
115
+ if !ipa_file_upload.nil? && !app_info_obj.nil?
116
+ description = "测试包重签名"
117
+ result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:nil)
118
+ if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
119
+ msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:result_data["data"])
120
+ PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
121
+ if @args_send_flag
122
+ PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data)
123
+ end
124
+ end
113
125
  end
114
126
 
115
127
  end
@@ -119,65 +131,6 @@ module Pindo
119
131
  #
120
132
  end
121
133
 
122
- def prepare_for_upload
123
-
124
- if @args_upload_flag
125
- if @args_proj_name.nil?
126
- xcodeproj_file_name = Dir.glob(File.join(Dir.pwd, "/*.xcodeproj")).max_by {|f| File.mtime(f)}
127
- proj_name = File.basename(xcodeproj_file_name, ".xcodeproj") if xcodeproj_file_name
128
- if !proj_name.nil?
129
- puts
130
- answer = agree("Pgyer的App项目代号是: #{proj_name} ?(Y/n)")
131
- if answer
132
- @args_proj_name = proj_name
133
- end
134
- end
135
- end
136
-
137
- @pgyer_client = PgyerClient.new
138
- app_info_obj = nil
139
- login_success = @pgyer_client.do_login(force_login:@args_login_flag)
140
- if login_success
141
- PgyerHelper.share_instace.get_app_list_in_pgyer(client:@pgyer_client)
142
- if !@args_proj_name.nil?
143
- app_info_obj = PgyerHelper.share_instace.find_app_info_with_obj_list(proj_name:@args_proj_name)
144
- end
145
-
146
- if app_info_obj.nil?
147
- proj_name = ask('请输入Pyger上的App代号(大小写空格忽略):') || nil
148
- @args_proj_name = proj_name
149
- app_info_obj = PgyerHelper.share_instace.find_app_info_with_obj_list(proj_name:@args_proj_name)
150
- end
151
- end
152
-
153
- if app_info_obj.nil?
154
- raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
155
- end
156
- end
157
-
158
- end
159
-
160
- def start_upload(pgyer_proj_name:nil, ipa_file_upload:nil, description:nil, args_send_flag:true)
161
-
162
- if !pgyer_proj_name.nil? && !ipa_file_upload.nil?
163
-
164
- args_temp = []
165
- pgyer_proj_name = pgyer_proj_name.strip.gsub(/ /, '')
166
- args_temp << "--proj=#{pgyer_proj_name}"
167
- args_temp << "--ipa=\"#{ipa_file_upload}\""
168
-
169
- if args_send_flag
170
- args_temp << "--send"
171
- end
172
-
173
- if !description.nil?
174
- args_temp << "--desc=\"#{description}\""
175
- end
176
-
177
- puts args_temp
178
- Pindo::Command::Pgyer::Upload::run(args_temp)
179
- end
180
- end
181
134
 
182
135
  end
183
136
  end
@@ -8,8 +8,6 @@ module Pindo
8
8
  class Createbuild < Dev
9
9
 
10
10
  include Appselect
11
- include Buildconfighelper
12
-
13
11
 
14
12
  self.summary = '创建工程编译选项'
15
13
 
@@ -7,7 +7,7 @@ module Pindo
7
7
 
8
8
  include Appselect
9
9
 
10
- include Xcodebuildpre
10
+ include XcodeCertHelper
11
11
 
12
12
  self.summary = '更新证书并使用新证书设置工程'
13
13
 
@@ -26,12 +26,14 @@ module Pindo
26
26
  [
27
27
  ['--deploy', '默认用开发的bundle id,使用--deploy设置使用发布bundle id'],
28
28
  ['--adhoc', '默认用dev证书,使用--adhoc设置使用adhoc证书'],
29
+ ['--upload', '生成上传pgyer的证书'],
29
30
  ].concat(super)
30
31
  end
31
32
 
32
33
  def initialize(argv)
33
34
  @args_adhoc_flag = argv.flag?('adhoc', false)
34
35
  @args_deploy_flag = argv.flag?('deploy', false)
36
+ @upload_flag = argv.flag?('upload', false)
35
37
  super
36
38
  end
37
39
 
@@ -44,7 +46,6 @@ module Pindo
44
46
  else
45
47
  mainapp_bundleid = get_selected_dev_bundleid()
46
48
  end
47
- puts "选择使用的bundle id: #{mainapp_bundleid}"
48
49
 
49
50
  args_temp = []
50
51
  args_temp << mainapp_bundleid
@@ -63,6 +64,9 @@ module Pindo
63
64
  args_temp << "--dev"
64
65
  end
65
66
 
67
+ if @upload_flag
68
+ args_temp << "--upload"
69
+ end
66
70
  Pindo::Command::Deploy::Cert::run(args_temp)
67
71
 
68
72
  end
@@ -0,0 +1,75 @@
1
+ require 'fileutils'
2
+
3
+ module Pindo
4
+ class Command
5
+ class Dev < Command
6
+ class Pgyercert < Dev
7
+
8
+ include Appselect
9
+
10
+ include XcodeCertHelper
11
+
12
+ self.summary = '生成pgyer需要的证书,上传个pgyer重签名用'
13
+
14
+ self.description = <<-DESC
15
+
16
+ 生成pgyer需要的证书,上传个pgyer重签名用。
17
+
18
+ DESC
19
+
20
+ self.arguments = [
21
+
22
+ ]
23
+
24
+ def self.options
25
+ [
26
+ ['--deploy', '默认用开发的bundle id,使用--deploy设置使用发布bundle id'],
27
+ ['--adhoc', '默认用dev证书,使用--adhoc设置使用adhoc证书'],
28
+ ].concat(super)
29
+ end
30
+
31
+ def initialize(argv)
32
+ @args_adhoc_flag = argv.flag?('adhoc', false)
33
+ @args_deploy_flag = argv.flag?('deploy', false)
34
+ super
35
+ end
36
+
37
+
38
+ def run
39
+
40
+ mainapp_bundleid= nil
41
+ if @args_deploy_flag
42
+ mainapp_bundleid = get_selected_deploy_bundleid()
43
+ else
44
+ mainapp_bundleid = get_selected_dev_bundleid()
45
+ end
46
+ puts "选择使用的bundle id: #{mainapp_bundleid}"
47
+
48
+ args_temp = []
49
+ args_temp << mainapp_bundleid
50
+ Pindo::Command::Deploy::Pullconfig::run(args_temp)
51
+
52
+
53
+ # project_dir = Dir.pwd
54
+ # Dir.chdir(project_dir)
55
+ # config_json_file = File.join(project_dir,"config.json")
56
+ # Debug::modify_cert_with_project(project_dir:project_dir, config_file:config_json_file)
57
+
58
+ args_temp = []
59
+ if @args_adhoc_flag
60
+ args_temp << "--adhoc"
61
+ else
62
+ args_temp << "--dev"
63
+ end
64
+
65
+ Pindo::Command::Deploy::Cert::run(args_temp)
66
+
67
+ end
68
+
69
+
70
+
71
+ end
72
+ end
73
+ end
74
+ end
75
+
@@ -0,0 +1,25 @@
1
+ # require 'pindo/command/dev/create'
2
+
3
+
4
+ # require 'pindo/command/dev/confuseproj'
5
+ # require 'pindo/command/dev/confusecode'
6
+ # require 'pindo/command/dev/cert'
7
+ require 'pindo/command/dev/pub'
8
+ require 'pindo/command/dev/debug'
9
+ require 'pindo/command/dev/autoresign'
10
+ require 'pindo/command/dev/autobuild'
11
+ # require 'pindo/command/dev/renewcert'
12
+ # require 'pindo/command/dev/pgyercert'
13
+ # require 'pindo/command/dev/createbuild'
14
+
15
+ module Pindo
16
+ class Command
17
+
18
+ class Dev < Command
19
+ self.abstract_command = true
20
+ self.summary = '开发阶段使用的相关命令'
21
+
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+
2
+ require 'pindo/command/env/dreamstudio'
3
+ require 'pindo/command/env/workhard'
4
+ # require 'pindo/command/env/flutter'
5
+ require 'pindo/command/env/quarkenv'
6
+ require 'pindo/command/env/swarkenv'
7
+
8
+ module Pindo
9
+ class Command
10
+
11
+ class Env < Command
12
+ self.abstract_command = true
13
+ self.summary = '环境配置的相关命令'
14
+ end
15
+ end
16
+ end
17
+
@@ -90,7 +90,11 @@ module Pindo
90
90
 
91
91
  Pindo::Command::Deploy::Pullconfig::run(args_temp)
92
92
 
93
- prepare_for_upload()
93
+ app_info_obj = nil
94
+ if @args_upload_flag || @args_send_flag
95
+ app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:@args_proj_name)
96
+ end
97
+
94
98
 
95
99
  args_temp = []
96
100
  if @args_dev_flag
@@ -100,88 +104,32 @@ module Pindo
100
104
  end
101
105
 
102
106
 
107
+ args_temp << "--ipa=#{ipa_file_name}"
108
+ Pindo::Command::Deploy::Resign::run(args_temp)
103
109
 
104
- if !ipa_file_name.nil?
105
-
106
- args_temp << "--ipa=#{ipa_file_name}"
107
- Pindo::Command::Deploy::Resign::run(args_temp)
108
-
110
+ if !ipa_file_name.nil? && !app_info_obj.nil?
109
111
 
110
112
  ipa_file_name = File::expand_path(ipa_file_name)
111
113
  ipa_base_name = File.basename(ipa_file_name, ".ipa")
112
114
  ipa_dir = File.dirname(ipa_file_name)
113
- resign_ipa_name = File.join(ipa_dir, ipa_base_name + "_resigned.ipa")
114
-
115
- if File.exist?(resign_ipa_name) && (@args_upload_flag || !@args_proj_name.nil?)
116
- start_upload(pgyer_proj_name:@args_proj_name, ipa_file_upload:resign_ipa_name, description:"提交包重签名", args_send_flag:@args_send_flag)
117
- end
118
-
119
- end
120
-
121
-
122
-
123
- #
124
- end
125
-
126
- def prepare_for_upload
127
-
128
- if @args_upload_flag
129
- if @args_proj_name.nil?
130
- xcodeproj_file_name = Dir.glob(File.join(Dir.pwd, "/*.xcodeproj")).max_by {|f| File.mtime(f)}
131
- proj_name = File.basename(xcodeproj_file_name, ".xcodeproj") if xcodeproj_file_name
132
- if !proj_name.nil?
133
- puts
134
- answer = agree("Pgyer的App项目代号是: #{proj_name} ?(Y/n)")
135
- if answer
136
- @args_proj_name = proj_name
115
+ ipa_file_upload = File.join(ipa_dir, ipa_base_name + "_resigned.ipa")
116
+
117
+ if !ipa_file_upload.nil? && !app_info_obj.nil?
118
+ description = "提交包重签名"
119
+ result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
120
+ if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
121
+ msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:result_data["data"])
122
+ PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
123
+ if @args_send_flag
124
+ PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data)
137
125
  end
138
126
  end
139
127
  end
140
-
141
- @pgyer_client = PgyerClient.new
142
- app_info_obj = nil
143
- login_success = @pgyer_client.do_login(force_login:@args_login_flag)
144
- if login_success
145
- PgyerHelper.share_instace.get_app_list_in_pgyer(client:@pgyer_client)
146
- if !@args_proj_name.nil?
147
- app_info_obj = PgyerHelper.share_instace.find_app_info_with_obj_list(proj_name:@args_proj_name)
148
- end
149
-
150
- if app_info_obj.nil?
151
- proj_name = ask('请输入Pyger上的App代号(大小写空格忽略):') || nil
152
- @args_proj_name = proj_name
153
- app_info_obj = PgyerHelper.share_instace.find_app_info_with_obj_list(proj_name:@args_proj_name)
154
- end
155
- end
156
-
157
- if app_info_obj.nil?
158
- raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
159
- end
160
128
 
161
129
  end
162
- end
163
-
164
- def start_upload(pgyer_proj_name:nil, ipa_file_upload:nil, description:nil, args_send_flag:true)
165
-
166
- if !pgyer_proj_name.nil? && !ipa_file_upload.nil?
167
130
 
168
- args_temp = []
169
- pgyer_proj_name = pgyer_proj_name.strip.gsub(/ /, '')
170
- args_temp << "--proj=#{pgyer_proj_name}"
171
- args_temp << "--ipa=\"#{ipa_file_upload}\""
172
131
 
173
- if args_send_flag
174
- args_temp << "--send"
175
- end
176
-
177
- if !description.nil?
178
- args_temp << "--desc=\"#{description}\""
179
- end
180
-
181
- Pindo::Command::Pgyer::Upload::run(args_temp)
182
- end
183
132
  end
184
-
185
133
  end
186
134
  end
187
135
  end