pindo 4.6.9 → 4.7.0

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.
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