pindo 4.6.9 → 4.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/base/aeshelper.rb +75 -0
  3. data/lib/pindo/base/funlog.rb +89 -0
  4. data/lib/pindo/base/githelper.rb +35 -18
  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/bossconfigclient.rb +3 -3
  12. data/lib/pindo/client/pgyerclient.rb +159 -100
  13. data/lib/pindo/command/appstore/iap.rb +43 -0
  14. data/lib/pindo/command/appstore/itcapp.rb +41 -0
  15. data/lib/pindo/command/appstore/metadata.rb +43 -0
  16. data/lib/pindo/command/appstore/screenshots.rb +43 -0
  17. data/lib/pindo/command/appstore/upload.rb +40 -0
  18. data/lib/pindo/command/appstore.rb +17 -0
  19. data/lib/pindo/command/deploy/build.rb +109 -0
  20. data/lib/pindo/{deploy → command/deploy}/bundleid.rb +1 -1
  21. data/lib/pindo/command/deploy/cert.rb +183 -0
  22. data/lib/pindo/command/deploy/configproj.rb +105 -0
  23. data/lib/pindo/{deploy → command/deploy}/getitcinfo.rb +1 -1
  24. data/lib/pindo/{deploy → command/deploy}/iap.rb +30 -9
  25. data/lib/pindo/{deploy → command/deploy}/itcapp.rb +0 -1
  26. data/lib/pindo/{deploy → command/deploy}/itcinfo.rb +2 -3
  27. data/lib/pindo/{deploy → command/deploy}/pem.rb +3 -2
  28. data/lib/pindo/{deploy → command/deploy}/resign.rb +14 -63
  29. data/lib/pindo/command/deploy.rb +44 -0
  30. data/lib/pindo/{dev → command/dev}/autobuild.rb +28 -76
  31. data/lib/pindo/{dev → command/dev}/autoresign.rb +21 -64
  32. data/lib/pindo/command/dev/build.rb +94 -0
  33. data/lib/pindo/{dev → command/dev}/createbuild.rb +0 -2
  34. data/lib/pindo/{dev → command/dev}/debug.rb +6 -2
  35. data/lib/pindo/command/dev/pgyercert.rb +75 -0
  36. data/lib/pindo/command/dev.rb +26 -0
  37. data/lib/pindo/command/env.rb +17 -0
  38. data/lib/pindo/{ipa → command/ipa}/autoresign.rb +22 -70
  39. data/lib/pindo/{ipa → command/ipa}/import.rb +48 -103
  40. data/lib/pindo/{ipa → command/ipa}/output.rb +43 -135
  41. data/lib/pindo/command/ipa.rb +16 -0
  42. data/lib/pindo/{lib → command/lib}/update.rb +23 -14
  43. data/lib/pindo/command/lib.rb +16 -0
  44. data/lib/pindo/{pgyer → command/pgyer}/apptest.rb +7 -29
  45. data/lib/pindo/{pgyer → command/pgyer}/comment.rb +7 -30
  46. data/lib/pindo/{pgyer → command/pgyer}/download.rb +35 -30
  47. data/lib/pindo/{pgyer → command/pgyer}/login.rb +3 -4
  48. data/lib/pindo/command/pgyer/resign.rb +111 -0
  49. data/lib/pindo/command/pgyer/upload.rb +123 -0
  50. data/lib/pindo/command/pgyer.rb +18 -0
  51. data/lib/pindo/{repo.rb → command/repo.rb} +4 -4
  52. data/lib/pindo/{utils → command/utils}/applovin.rb +43 -33
  53. data/lib/pindo/{utils → command/utils}/boss.rb +3 -3
  54. data/lib/pindo/command/utils/icon.rb +81 -0
  55. data/lib/pindo/{utils → command/utils}/renewproj.rb +1 -0
  56. data/lib/pindo/command/utils.rb +26 -0
  57. data/lib/pindo/command.rb +23 -26
  58. data/lib/pindo/config/pindoconfig.rb +27 -0
  59. data/lib/pindo/module/appselect.rb +9 -8
  60. data/lib/pindo/module/build/swarkhelper.rb +95 -0
  61. data/lib/pindo/module/cert/certhelper.rb +187 -0
  62. data/lib/pindo/module/cert/keychainhelper.rb +150 -0
  63. data/lib/pindo/module/{pemcreate.rb → cert/pemhelper.rb} +3 -1
  64. data/lib/pindo/module/cert/provisioninghelper.rb +137 -0
  65. data/lib/pindo/module/cert/xcodecerthelper.rb +326 -0
  66. data/lib/pindo/module/{pgyerhelper.rb → pgyer/pgyerhelper.rb} +246 -36
  67. data/lib/pindo/module/xcode/xcodeappconfig.rb +188 -0
  68. data/lib/pindo/module/xcode/xcodebuildconfig.rb +12 -0
  69. data/lib/pindo/module/xcode/xcodebuildhelper.rb +312 -0
  70. data/lib/pindo/module/xcode/xcoderesconstant.rb +248 -0
  71. data/lib/pindo/module/xcode/xcodereshandler.rb +198 -0
  72. data/lib/pindo/module/xcode/xcodereshelper.rb +119 -0
  73. data/lib/pindo/options/appconfigoptions.rb +1 -0
  74. data/lib/pindo/options/deployoptions.rb +38 -42
  75. data/lib/pindo/version.rb +1 -1
  76. metadata +110 -97
  77. data/lib/pindo/deploy/Fastfile +0 -233
  78. data/lib/pindo/deploy/build.rb +0 -167
  79. data/lib/pindo/deploy/cert.rb +0 -508
  80. data/lib/pindo/deploy/configproj.rb +0 -89
  81. data/lib/pindo/deploy.rb +0 -44
  82. data/lib/pindo/dev.rb +0 -23
  83. data/lib/pindo/env/flutter.rb +0 -59
  84. data/lib/pindo/env/flutter.sh +0 -116
  85. data/lib/pindo/env.rb +0 -17
  86. data/lib/pindo/ipa.rb +0 -22
  87. data/lib/pindo/lib.rb +0 -18
  88. data/lib/pindo/module/buildconfighelper.rb +0 -13
  89. data/lib/pindo/module/buildhelper.rb +0 -76
  90. data/lib/pindo/module/config_project.sh +0 -143
  91. data/lib/pindo/module/configprojhelper.rb +0 -631
  92. data/lib/pindo/module/icon_contents.json +0 -116
  93. data/lib/pindo/module/imessage_icon.json +0 -91
  94. data/lib/pindo/module/imgset_contents.json +0 -21
  95. data/lib/pindo/module/launchimg_contents.json +0 -21
  96. data/lib/pindo/module/xcodebuildpre.rb +0 -258
  97. data/lib/pindo/pgyer/upload.rb +0 -234
  98. data/lib/pindo/pgyer.rb +0 -17
  99. data/lib/pindo/utils/icon.rb +0 -91
  100. data/lib/pindo/utils/icon.sh +0 -133
  101. data/lib/pindo/utils/podindex.rb +0 -56
  102. data/lib/pindo/utils/podindex.sh +0 -30
  103. data/lib/pindo/utils.rb +0 -29
  104. /data/lib/pindo/{deploy → command/deploy}/check.rb +0 -0
  105. /data/lib/pindo/{deploy → command/deploy}/confusecode.rb +0 -0
  106. /data/lib/pindo/{deploy → command/deploy}/confuseproj.rb +0 -0
  107. /data/lib/pindo/{deploy → command/deploy}/fabric.rb +0 -0
  108. /data/lib/pindo/{deploy → command/deploy}/initconfig.rb +0 -0
  109. /data/lib/pindo/{deploy → command/deploy}/pullconfig.rb +0 -0
  110. /data/lib/pindo/{deploy → command/deploy}/pushconfig.rb +0 -0
  111. /data/lib/pindo/{deploy → command/deploy}/quswark.rb +0 -0
  112. /data/lib/pindo/{deploy → command/deploy}/quswauth.rb +0 -0
  113. /data/lib/pindo/{deploy → command/deploy}/reportbug.rb +0 -0
  114. /data/lib/pindo/{deploy → command/deploy}/tag.rb +0 -0
  115. /data/lib/pindo/{deploy → command/deploy}/updateconfig.rb +0 -0
  116. /data/lib/pindo/{deploy → command/deploy}/uploadipa.rb +0 -0
  117. /data/lib/pindo/{dev → command/dev}/confusecode.rb +0 -0
  118. /data/lib/pindo/{dev → command/dev}/confuseproj.rb +0 -0
  119. /data/lib/pindo/{dev → command/dev}/pub.rb +0 -0
  120. /data/lib/pindo/{dev → command/dev}/renewcert.rb +0 -0
  121. /data/lib/pindo/{env → command/env}/dreamstudio.rb +0 -0
  122. /data/lib/pindo/{env → command/env}/quarkenv.rb +0 -0
  123. /data/lib/pindo/{env → command/env}/swarkenv.rb +0 -0
  124. /data/lib/pindo/{env → command/env}/workhard.rb +0 -0
  125. /data/lib/pindo/{lib → command/lib}/forcepush.rb +0 -0
  126. /data/lib/pindo/{lib → command/lib}/lint.rb +0 -0
  127. /data/lib/pindo/{lib → command/lib}/push.rb +0 -0
  128. /data/lib/pindo/{repo → command/repo}/clone.rb +0 -0
  129. /data/lib/pindo/{repo → command/repo}/create.rb +0 -0
  130. /data/lib/pindo/{repo → command/repo}/login.rb +0 -0
  131. /data/lib/pindo/{repo → command/repo}/search.rb +0 -0
  132. /data/lib/pindo/{setup.rb → command/setup.rb} +0 -0
  133. /data/lib/pindo/{upgrade.rb → command/upgrade.rb} +0 -0
  134. /data/lib/pindo/{utils → command/utils}/clearcert.rb +0 -0
  135. /data/lib/pindo/{utils → command/utils}/device.rb +0 -0
  136. /data/lib/pindo/{utils → command/utils}/tgate.rb +0 -0
  137. /data/lib/pindo/{utils → command/utils}/xcassets.rb +0 -0
  138. /data/lib/pindo/{utils → command/utils}/xcassets.sh +0 -0
  139. /data/lib/pindo/module/{appstore_in_app_purchase.rb → appstore/appstore_in_app_purchase.rb} +0 -0
  140. /data/lib/pindo/module/{appstore_metadata_connect_api_helper.rb → appstore/appstore_metadata_connect_api_helper.rb} +0 -0
  141. /data/lib/pindo/module/{appstore_metadata_fastlane_helper.rb → appstore/appstore_metadata_fastlane_helper.rb} +0 -0
  142. /data/lib/pindo/module/{iap_tier.json → appstore/iap_tier.json} +0 -0
  143. /data/lib/pindo/module/{commonconfuseproj.rb → build/commonconfuseproj.rb} +0 -0
  144. /data/lib/pindo/module/{xcodehelper.rb → xcode/xcodehelper.rb} +0 -0
@@ -1,508 +0,0 @@
1
- require 'fileutils'
2
- require 'match'
3
-
4
-
5
- module Pindo
6
- class Command
7
- class Deploy < Command
8
- class Cert < Deploy
9
-
10
- include Command::DeployOptions
11
-
12
- include Xcodebuildpre
13
-
14
- self.summary = '创建证书并使用设置工程的证书'
15
-
16
- self.description = <<-DESC
17
- 根据config.json中的bundle id获取最新证书,默认不创建证书。如果在工程目录下,会自动设置工程证书。用法 pindo deploy cert
18
- 默认创建appstore证书。 如果需要重新创建dev 证书, 用法:pindo deploy cert --dev --renew
19
- DESC
20
-
21
- self.arguments = [
22
- CLAide::Argument.new('path/to/config.json', true),
23
- ]
24
-
25
- def self.options
26
-
27
- [
28
- ['--dev', '操作dev证书'],
29
- ['--adhoc', '操作adhoc证书'],
30
- ['--clean', '删除本地缓存的证书'],
31
- ['--cleangit', '删除远程仓库中的证书'],
32
- ['--renew', '重新生成证书']
33
- ].concat(super)
34
- end
35
-
36
- def initialize(argv)
37
- @clean_flag = argv.flag?('clean', false)
38
- @clean_git_flag = argv.flag?('cleangit', false)
39
- @renew_cert_flag = argv.flag?('renew', false)
40
-
41
- super
42
-
43
- @build_type = "appstore"
44
- if @args_adhoc_flag
45
- @build_type = "adhoc"
46
- end
47
- if @args_dev_flag
48
- @build_type = "development"
49
- end
50
-
51
- end
52
-
53
- def run
54
- # prepare_env
55
- if @clean_flag
56
- puts "Clear cert at local ..."
57
- Pindo::Command::Utils::Clearcert::run([])
58
- end
59
-
60
- if @renew_cert_flag && @clean_git_flag
61
- pindo_dir = pindo_single_config.pindo_dir
62
- git_url = pindo_single_config.deploy_cert_giturl
63
- if @apple_id.eql?(pindo_single_config.demo_apple_id)
64
- git_url = pindo_single_config.dev_cert_giturl
65
- end
66
- cert_repo_dir = getcode_to_dir(reponame:get_repo_base_name(repo_url:git_url), remote_url:git_url, path:pindo_dir, new_branch:@apple_id)
67
- FileUtils.rm_rf(File.join(cert_repo_dir, "certs"))
68
- FileUtils.rm_rf(File.join(cert_repo_dir, "profiles"))
69
- git_addpush_repo(path:cert_repo_dir, message:"remove #{@apple_id} certs")
70
- end
71
-
72
-
73
- bundle_id_array = get_bundld_id_array
74
- values = get_match_values(apple_id:@apple_id, bundle_id_array:bundle_id_array, build_type:@build_type, renew_flag:@renew_cert_flag)
75
-
76
- config = FastlaneCore::Configuration.create(Match::Options.available_options, values)
77
- Match::Runner.new.run(config)
78
-
79
- team_id_key = Match::Utils.environment_variable_name_team_id(app_identifier: @bundle_id,type:@build_type)
80
-
81
- @team_id_vaule = ENV[team_id_key]
82
-
83
- #发布机需要给swark注册bundle id
84
- add_swark_authorize_json
85
-
86
- bundle_id_dict = get_cert_values
87
-
88
- current_dir = Dir.pwd
89
- new_project_dir = current_dir
90
- new_project_fullname = ""
91
- Dir.foreach(new_project_dir) do |file|
92
- if file =~ /(.*).xcodeproj/
93
- new_project_fullname = file
94
- break;
95
- end
96
- end
97
-
98
- if !new_project_fullname.nil? && File.exist?(new_project_fullname)
99
- # prepare_env(project_dir:new_project_dir, apple_id:@apple_id, bundle_id:@bundle_id, config_json:@config_json)
100
- new_proj_name = File.basename(new_project_fullname, ".xcodeproj")
101
- config_project_cert(new_proj_name:new_proj_name, new_project_dir:new_project_dir, cert_type:@build_type, team_id_vaule:@team_id_vaule, bundle_id_dict:bundle_id_dict)
102
- end
103
-
104
- if File.exist?(new_project_fullname)
105
-
106
- new_proj_name = File.basename(new_project_fullname, ".xcodeproj")
107
- project_obj = Xcodeproj::Project.open(new_project_fullname)
108
- entitlements_plist_path = File.join(new_project_dir, new_proj_name + ".entitlements")
109
-
110
- project_obj.targets.each do |target|
111
-
112
- temp_entitlements_file = target.build_configurations.first.build_settings['CODE_SIGN_ENTITLEMENTS']
113
- if !temp_entitlements_file.nil? && !temp_entitlements_file.empty?
114
- entitlements_plist_path = File.join(new_project_dir, temp_entitlements_file)
115
- if !File.exist?(entitlements_plist_path)
116
- raise Informative, "Target: #{target.name.to_s} 找不到文件 #{entitlements_plist_path}"
117
- end
118
- end
119
-
120
- temp_info = target.build_configurations.first.build_settings['INFOPLIST_FILE']
121
- info_plist_path = File.join(new_project_dir, temp_info)
122
-
123
- if target.product_type.to_s.eql?("com.apple.product-type.application") && !File.exist?(info_plist_path)
124
- raise Informative, "Missing Target #{target.name.to_s} Info.plist!!! #{info_plist_path} Modify Info.plist Error !!!"
125
- end
126
-
127
- # target.product_type = Constants::PRODUCT_TYPE_UTI[type]
128
-
129
- if target.product_type.to_s.eql?("com.apple.product-type.application") then
130
- add_swark_entitlement(entitlements_plist_path:entitlements_plist_path, bundle_id_dict:bundle_id_dict)
131
- if !@deploy_icloud_id.nil?
132
- modify_entitlements_plist(entitlements_plist_path:entitlements_plist_path, icloud_id:@icloud_id)
133
- modify_info_plist_icloud(plist_file_name:info_plist_path, icloud_id:@icloud_id)
134
- else
135
- modify_info_plist_icloud(plist_file_name:info_plist_path, icloud_id:nil)
136
- end
137
- end
138
-
139
- if !@deploy_group_id.nil?
140
- modify_entitlements_plist(entitlements_plist_path:entitlements_plist_path, group_id:@group_id)
141
- end
142
- end
143
-
144
- end
145
-
146
- end
147
- end
148
-
149
-
150
- def modify_info_plist_icloud(plist_file_name:nil, icloud_id:nil)
151
- if ! File.exist? (plist_file_name)
152
- raise Informative, "修改Info.list 路径错误!!! #{plist_file_name}"
153
- end
154
- if File.exist?(plist_file_name)
155
- info_plist_dict = Xcodeproj::Plist.read_from_path(plist_file_name)
156
-
157
- if !icloud_id.nil?
158
-
159
- temp_value = {}
160
- if !info_plist_dict['NSUbiquitousContainers'].nil? && info_plist_dict['NSUbiquitousContainers'].is_a?(Hash)
161
- info_plist_dict['NSUbiquitousContainers'].each do |key, value|
162
- if key.include?("iCloud.")
163
- temp_value = value
164
- break;
165
- end
166
- end
167
- end
168
- info_plist_dict['NSUbiquitousContainers'] = {}
169
- info_plist_dict['NSUbiquitousContainers'][icloud_id] = temp_value || {}
170
- else
171
- info_plist_dict['NSUbiquitousContainers'] = nil
172
- end
173
-
174
- Xcodeproj::Plist.write_to_path(info_plist_dict, plist_file_name)
175
-
176
- end
177
- end
178
-
179
- def get_bundld_id_array
180
-
181
- bundle_id_array = []
182
- bundle_id_array << @bundle_id
183
-
184
- unless @deploy_identifier_pushservice.nil?
185
- bundle_id_array << @bundle_id_pushservice
186
- end
187
-
188
- unless @deploy_identifier_pushcontent.nil?
189
- bundle_id_array << @bundle_id_pushcontent
190
- end
191
-
192
- unless @deploy_identifier_keyboard.nil?
193
- bundle_id_array << @bundle_id_keyboard
194
- end
195
-
196
- unless @deploy_identifier_imessage.nil?
197
- bundle_id_array << @bundle_id_imessage
198
- end
199
-
200
- unless @deploy_identifier_siri.nil?
201
- bundle_id_array << @bundle_id_siri
202
- end
203
-
204
- unless @deploy_identifier_siriui.nil?
205
- bundle_id_array << @bundle_id_siriui
206
- end
207
-
208
- unless @deploy_identifier_widget.nil?
209
- bundle_id_array << @bundle_id_widget
210
- end
211
-
212
- unless @deploy_identifier_extension.nil?
213
- bundle_id_array << @bundle_id_extension
214
- end
215
-
216
- unless @deploy_identifier_extensionad.nil?
217
- bundle_id_array << @bundle_id_extensionad
218
- end
219
-
220
- unless @deploy_identifier_extensionporn.nil?
221
- bundle_id_array << @bundle_id_extensionporn
222
- end
223
-
224
- unless @deploy_identifier_watchapp.nil?
225
- bundle_id_array << @deploy_identifier_watchapp
226
- end
227
-
228
- unless @deploy_identifier_watchapp_extension.nil?
229
- bundle_id_array << @deploy_identifier_watchapp_extension
230
- end
231
-
232
-
233
- return bundle_id_array
234
- end
235
-
236
- def get_cert_values
237
-
238
- bundle_id_dict = {}
239
- bundleid_name_key=Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id,type: @build_type)
240
- @bundleid_name_value=ENV[bundleid_name_key]
241
- bundle_id_dict['bundle_id'] = {}
242
- bundle_id_dict['bundle_id']['bundle_id'] = @bundle_id
243
- bundle_id_dict['bundle_id']['bundle_id_key'] = bundleid_name_key
244
- bundle_id_dict['bundle_id']['bundle_id_value'] = @bundleid_name_value
245
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id,type: @build_type)
246
- bundle_id_dict['bundle_id']['bundle_id_profile_path'] = ENV[path_temp]
247
-
248
-
249
-
250
- unless @deploy_identifier_pushcontent.nil?
251
- bundleid_content_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_pushcontent, type: @build_type)
252
- @bundleid_content_name_value=ENV[bundleid_content_name_key]
253
- bundle_id_dict['bundle_id_pushcontent'] = {}
254
- bundle_id_dict['bundle_id_pushcontent']['bundle_id'] = @bundle_id_pushcontent
255
- bundle_id_dict['bundle_id_pushcontent']['bundle_id_pushcontent_key'] = bundleid_content_name_key
256
- bundle_id_dict['bundle_id_pushcontent']['bundle_id_pushcontent_value'] = @bundleid_content_name_value
257
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_pushcontent,type: @build_type)
258
- bundle_id_dict['bundle_id_pushcontent']['bundle_id_pushcontent_profile_path'] = ENV[path_temp]
259
- end
260
-
261
- unless @deploy_identifier_pushservice.nil?
262
- bundleid_service_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_pushservice, type: @build_type)
263
- @bundleid_service_name_value=ENV[bundleid_service_name_key]
264
- bundle_id_dict['bundle_id_pushservice'] = {}
265
- bundle_id_dict['bundle_id_pushservice']['bundle_id'] = @bundle_id_pushservice
266
- bundle_id_dict['bundle_id_pushservice']['bundle_id_pushservice_key'] = bundleid_service_name_key
267
- bundle_id_dict['bundle_id_pushservice']['bundle_id_pushservice_value'] = @bundleid_service_name_value
268
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_pushservice,type: @build_type)
269
- bundle_id_dict['bundle_id_pushservice']['bundle_id_pushservice_profile_path'] = ENV[path_temp]
270
- end
271
-
272
- unless @deploy_identifier_keyboard.nil?
273
- bundleid_keyboard_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_keyboard, type: @build_type)
274
- @bundleid_keyboard_name_value=ENV[bundleid_keyboard_name_key]
275
- bundle_id_dict['bundle_id_keyboard'] = {}
276
- bundle_id_dict['bundle_id_keyboard']['bundle_id'] = @bundle_id_keyboard
277
- bundle_id_dict['bundle_id_keyboard']['bundle_id_keyboard_key'] = bundleid_keyboard_name_key
278
- bundle_id_dict['bundle_id_keyboard']['bundle_id_keyboard_value'] = @bundleid_keyboard_name_value
279
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_keyboard,type: @build_type)
280
- bundle_id_dict['bundle_id_keyboard']['bundle_id_keyboard_profile_path'] = ENV[path_temp]
281
- end
282
-
283
- unless @deploy_identifier_imessage.nil?
284
- bundleid_imessage_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_imessage, type: @build_type)
285
- @bundleid_imessage_name_value=ENV[bundleid_imessage_name_key]
286
- bundle_id_dict['bundle_id_imessage'] = {}
287
- bundle_id_dict['bundle_id_imessage']['bundle_id'] = @bundle_id_imessage
288
- bundle_id_dict['bundle_id_imessage']['bundle_id_imessage_key'] = bundleid_imessage_name_key
289
- bundle_id_dict['bundle_id_imessage']['bundle_id_imessage_value'] = @bundleid_imessage_name_value
290
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_imessage,type: @build_type)
291
- bundle_id_dict['bundle_id_imessage']['bundle_id_imessage_profile_path'] = ENV[path_temp]
292
- end
293
-
294
- unless @deploy_identifier_siri.nil?
295
- bundleid_siri_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_siri, type: @build_type)
296
- @bundleid_siri_name_value=ENV[bundleid_siri_name_key]
297
- bundle_id_dict['bundle_id_siri'] = {}
298
- bundle_id_dict['bundle_id_siri']['bundle_id'] = @bundle_id_siri
299
- bundle_id_dict['bundle_id_siri']['bundle_id_siri_key'] = bundleid_siri_name_key
300
- bundle_id_dict['bundle_id_siri']['bundle_id_siri_value'] = @bundleid_siri_name_value
301
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_siri,type: @build_type)
302
- bundle_id_dict['bundle_id_siri']['bundle_id_siri_profile_path'] = ENV[path_temp]
303
- end
304
-
305
- unless @deploy_identifier_siriui.nil?
306
- bundleid_siriui_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_siriui, type: @build_type)
307
- @bundleid_siriui_name_value=ENV[bundleid_siriui_name_key]
308
- bundle_id_dict['bundle_id_siriui'] = {}
309
- bundle_id_dict['bundle_id_siriui']['bundle_id'] = @bundle_id_siriui
310
- bundle_id_dict['bundle_id_siriui']['bundle_id_siriui_key'] = bundleid_siriui_name_key
311
- bundle_id_dict['bundle_id_siriui']['bundle_id_siriui_value'] = @bundleid_siriui_name_value
312
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_siriui,type: @build_type)
313
- bundle_id_dict['bundle_id_siriui']['bundle_id_siriui_profile_path'] = ENV[path_temp]
314
- end
315
-
316
- unless @deploy_identifier_widget.nil?
317
- bundleid_widget_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_widget, type: @build_type)
318
- @bundleid_widget_name_value=ENV[bundleid_widget_name_key]
319
- bundle_id_dict['bundle_id_widget'] = {}
320
- bundle_id_dict['bundle_id_widget']['bundle_id'] = @bundle_id_widget
321
- bundle_id_dict['bundle_id_widget']['bundle_id_widget_key'] = bundleid_widget_name_key
322
- bundle_id_dict['bundle_id_widget']['bundle_id_widget_value'] = @bundleid_widget_name_value
323
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_widget,type: @build_type)
324
- bundle_id_dict['bundle_id_widget']['bundle_id_widget_profile_path'] = ENV[path_temp]
325
- end
326
-
327
- unless @deploy_identifier_extension.nil?
328
- bundleid_extension_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_extension, type: @build_type)
329
- @bundleid_extension_name_value=ENV[bundleid_extension_name_key]
330
- bundle_id_dict['bundle_id_extension'] = {}
331
- bundle_id_dict['bundle_id_extension']['bundle_id'] = @bundle_id_extension
332
- bundle_id_dict['bundle_id_extension']['bundle_id_extension_key'] = bundleid_extension_name_key
333
- bundle_id_dict['bundle_id_extension']['bundle_id_extension_value'] = @bundleid_extension_name_value
334
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_extension,type: @build_type)
335
- bundle_id_dict['bundle_id_extension']['bundle_id_extension_profile_path'] = ENV[path_temp]
336
- end
337
-
338
- unless @deploy_identifier_extensionad.nil?
339
- bundleid_extensionad_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_extensionad, type: @build_type)
340
- @bundleid_extensionad_name_value=ENV[bundleid_extensionad_name_key]
341
- bundle_id_dict['bundle_id_extensionad'] = {}
342
- bundle_id_dict['bundle_id_extensionad']['bundle_id'] = @bundle_id_extensionad
343
- bundle_id_dict['bundle_id_extensionad']['bundle_id_extensionad_key'] = bundleid_extensionad_name_key
344
- bundle_id_dict['bundle_id_extensionad']['bundle_id_extensionad_value'] = @bundleid_extensionad_name_value
345
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_extensionad,type: @build_type)
346
- bundle_id_dict['bundle_id_extensionad']['bundle_id_extensionad_profile_path'] = ENV[path_temp]
347
- end
348
-
349
- unless @deploy_identifier_extensionporn.nil?
350
- bundleid_extensionporn_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_extensionporn, type: @build_type)
351
- @bundleid_extensionporn_name_value=ENV[bundleid_extensionporn_name_key]
352
- bundle_id_dict['bundle_id_extensionporn'] = {}
353
- bundle_id_dict['bundle_id_extensionporn']['bundle_id'] = @bundle_id_extensionporn
354
- bundle_id_dict['bundle_id_extensionporn']['bundle_id_extensionporn_key'] = bundleid_extensionporn_name_key
355
- bundle_id_dict['bundle_id_extensionporn']['bundle_id_extensionporn_value'] = @bundleid_extensionporn_name_value
356
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_extensionporn,type: @build_type)
357
- bundle_id_dict['bundle_id_extensionporn']['bundle_id_extensionporn_profile_path'] = ENV[path_temp]
358
- end
359
-
360
- unless @deploy_identifier_watchapp.nil?
361
- bundleid_watchapp_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_watchapp, type: @build_type)
362
- @bundleid_watchapp_name_value=ENV[bundleid_watchapp_name_key]
363
- bundle_id_dict['bundle_id_watchapp'] = {}
364
- bundle_id_dict['bundle_id_watchapp']['bundle_id'] = @bundle_id_watchapp
365
- bundle_id_dict['bundle_id_watchapp']['bundle_id_watchapp_key'] = bundleid_watchapp_name_key
366
- bundle_id_dict['bundle_id_watchapp']['bundle_id_watchapp_value'] = @bundleid_watchapp_name_value
367
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_watchapp,type: @build_type)
368
- bundle_id_dict['bundle_id_watchapp']['bundle_id_watchapp_profile_path'] = ENV[path_temp]
369
- end
370
-
371
- unless @deploy_identifier_watchapp_extension.nil?
372
- bundleid_watchapp_extension_name_key = Match::Utils.environment_variable_name_profile_name(app_identifier: @bundle_id_watchapp_extension, type: @build_type)
373
- @bundleid_watchapp_extension_name_value=ENV[bundleid_watchapp_extension_name_key]
374
- bundle_id_dict['bundle_id_watchapp_extension'] = {}
375
- bundle_id_dict['bundle_id_watchapp_extension']['bundle_id'] = @bundle_id_watchapp_extension
376
- bundle_id_dict['bundle_id_watchapp_extension']['bundle_id_watchapp_extension_key'] = bundleid_watchapp_extension_name_key
377
- bundle_id_dict['bundle_id_watchapp_extension']['bundle_id_watchapp_extension_value'] = @bundleid_watchapp_extension_name_value
378
- path_temp = Match::Utils.environment_variable_name_profile_path(app_identifier: @bundle_id_watchapp_extension,type: @build_type)
379
- bundle_id_dict['bundle_id_watchapp_extension']['bundle_id_watchapp_extension_profile_path'] = ENV[path_temp]
380
- end
381
-
382
-
383
- bundle_id_signing_key=Match::Utils.environment_variable_name_certificate_name(app_identifier: @bundle_id,type: @build_type)
384
- bundle_id_signing_identity = ENV[bundle_id_signing_key]
385
- bundle_id_dict["bundle_id_cert_common_name"] = bundle_id_signing_identity
386
- puts "team_name: #{bundle_id_signing_identity}"
387
- puts "team_id_vaule: #{@team_id_vaule}"
388
- puts "bundleid_name_value: #{@bundleid_name_value}"
389
- puts "bundleid_content_name_value: #{@bundleid_content_name_value}"
390
- puts "bundleid_service_name_value: #{@bundleid_service_name_value}"
391
- puts "bundleid_keyboard_name_value: #{@bundleid_keyboard_name_value}"
392
- puts "bundleid_imessage_name_value: #{@bundleid_imessage_name_value}"
393
- puts "bundleid_siri_name_value: #{@bundleid_siri_name_value}"
394
- puts "bundleid_siriui_name_value: #{@bundleid_siriui_name_value}"
395
- puts "bundleid_widget_name_value: #{@bundleid_widget_name_value}"
396
- puts "bundleid_extension_name_value: #{@bundleid_extension_name_value}"
397
- puts "bundleid_extensionad_name_value: #{@bundleid_extensionad_name_value}"
398
- puts "bundleid_extensionporn_name_value: #{@bundleid_extensionporn_name_value}"
399
- puts "bundleid_watchapp_name_value: #{@bundleid_watchapp_name_value}"
400
- puts "bundleid_watchapp_extension_name_value: #{@bundleid_watchapp_extension_name_value}"
401
-
402
- pindo_single_config.set_cert_info(dict: bundle_id_dict)
403
- return bundle_id_dict
404
-
405
- end
406
-
407
- def get_match_values(apple_id:nil, bundle_id_array:nil, build_type:nil, renew_flag:false)
408
-
409
- if build_type.eql?("appstore") && (apple_id.eql?(pindo_single_config.demo_apple_id))
410
- raise Informative, "#{apple_id} 是测试账号,不能创建appstore证书!!!"
411
- end
412
- if !build_type.eql?("appstore") && !apple_id.eql?(pindo_single_config.demo_apple_id)
413
- raise Informative, "账号#{apple_id} 不能创建dev或者adhoc证书!!!"
414
- end
415
-
416
- git_url = pindo_single_config.deploy_cert_giturl
417
- if @apple_id.eql?(pindo_single_config.demo_apple_id)
418
- git_url = pindo_single_config.dev_cert_giturl
419
- end
420
-
421
- force_for_new_devices_flag = true
422
- if build_type.eql?("appstore")
423
- force_for_new_devices_flag = false
424
- end
425
-
426
- if build_type.eql?("development")
427
- force_for_new_devices_flag = true
428
- end
429
- if build_type.eql?("adhoc")
430
- force_for_new_devices_flag = true
431
- end
432
-
433
- platform_type = "ios"
434
- if @config_json && @config_json['project_info'] && @config_json['project_info']['build_type'].include?("MacOS")
435
- platform_type = "macos"
436
- end
437
-
438
- values = {
439
- username:apple_id,
440
- app_identifier: bundle_id_array,
441
- type: build_type,
442
- keychain_password:"goodcert1",
443
- git_url: git_url,
444
- readonly:!renew_flag,
445
- force:renew_flag,
446
- clone_branch_directly:!renew_flag,
447
- include_mac_in_profiles:true,
448
- include_all_certificates:true,
449
- generate_apple_certs:true,
450
- shallow_clone:!renew_flag,
451
- git_branch: apple_id,
452
- platform:platform_type,
453
- force_for_new_devices:force_for_new_devices_flag
454
- }
455
- return values
456
- end
457
-
458
- def add_swark_entitlement(entitlements_plist_path:nil, bundle_id_dict:nil)
459
- if @config_json['project_info']['xcode_build_type'] && @config_json["project_info"]["xcode_build_type"].include?("swark")
460
- if File.exist?(entitlements_plist_path)
461
- entitlements_plist_dict = Xcodeproj::Plist.read_from_path(entitlements_plist_path)
462
-
463
- key_value = @team_id_vaule
464
- key_value = key_value + "." + @bundle_id
465
- entitlements_plist_dict['keychain-access-groups'] = [key_value]
466
-
467
- Xcodeproj::Plist.write_to_path(entitlements_plist_dict, entitlements_plist_path)
468
- end
469
- end
470
- end
471
-
472
- def add_swark_authorize_json
473
- if @build_type == "appstore" && @config_json['project_info']['xcode_build_type'] && @config_json["project_info"]["xcode_build_type"].include?("swark")
474
-
475
- app_config_dir = clong_buildconfig_repo(repo_name: @deploy_repo_name)
476
- swark_authorize_file = File.join(app_config_dir, "swark_authorize.json")
477
- if File.exist?(swark_authorize_file)
478
- swark_authorize_json=JSON.parse(File.read(swark_authorize_file))
479
- if swark_authorize_json && swark_authorize_json['swark_authorize_status']
480
- puts "swark already authorize success !!! "
481
- else
482
- swark_authorize_json = swark_authorize_json || {}
483
- swark_authorize_json['swark_authorize_teamid'] = @team_id_vaule
484
- swark_authorize_json['swark_authorize_bundleid'] = @bundle_id
485
- swark_authorize_json['swark_authorize_status'] = false
486
- File.open(swark_authorize_file, "w") do |f|
487
- f.write(JSON.pretty_generate(swark_authorize_json))
488
- end
489
- git_addpush_repo(path:app_config_dir, message:"add swark authorize json")
490
- end
491
- else
492
- swark_authorize_json = swark_authorize_json || {}
493
- swark_authorize_json['swark_authorize_teamid'] = @team_id_vaule
494
- swark_authorize_json['swark_authorize_bundleid'] = @bundle_id
495
- swark_authorize_json['swark_authorize_status'] = false
496
- File.open(swark_authorize_file, "w") do |f|
497
- f.write(JSON.pretty_generate(swark_authorize_json))
498
- end
499
- git_addpush_repo(path:app_config_dir, message:"add swark authorize json")
500
- end
501
-
502
- end
503
- end
504
-
505
- end
506
- end
507
- end
508
-
@@ -1,89 +0,0 @@
1
-
2
- require 'find'
3
- require 'cocoapods-core'
4
-
5
- module Pindo
6
- class Command
7
- class Deploy < Command
8
- class Configproj < Deploy
9
-
10
- include Command::DeployOptions
11
-
12
- include Xcodebuildpre
13
-
14
- include Configprojhelper
15
-
16
- self.summary = '修改Xcode工程编译参数'
17
-
18
- self.description = <<-DESC
19
- 根据config.json修改Xcode工程编译参数, 用法:工程目录下执行pindo deploy configproj
20
- DESC
21
-
22
- self.arguments = [
23
- CLAide::Argument.new('path/to/config.json', true),
24
- ]
25
-
26
- def run
27
-
28
- check_config_version
29
-
30
- current_dir = Dir.pwd
31
- app_config_dir = clong_buildconfig_repo(repo_name: @deploy_repo_name)
32
-
33
- project_fullname = ""
34
- Dir.chdir(current_dir)
35
- Dir.foreach(current_dir) do |file|
36
- if file =~ /(.*).xcodeproj/
37
- project_fullname = file
38
- break;
39
- end
40
- end
41
- project_root_dir = current_dir
42
- @proj_name = File.basename(project_fullname, ".xcodeproj")
43
-
44
- google_info_config_dir = clong_buildconfig_repo(repo_name: @bundle_id)
45
-
46
- modify_google_plist(project_dir:current_dir, app_config_dir:google_info_config_dir)
47
- modify_icon_res(project_dir:current_dir, app_config_dir:app_config_dir, proj_name:@proj_name, config_json:@config_json)
48
- modify_launch_image_res(project_dir:current_dir, app_config_dir:app_config_dir, proj_name:@proj_name, config_json:@config_json)
49
- add_project_modue(project_dir:current_dir, proj_name:@proj_name, config_json:@config_json)
50
- modify_info_plist(project_dir:current_dir, proj_name:@proj_name, config_json:@config_json)
51
- modify_project_config(project_dir:current_dir, proj_name:@proj_name, config_json:@config_json)
52
-
53
- appprefix_file = "AppPrefix.plist"
54
- if config_json && config_json['project_info']['appprefix_plist'] then
55
- appprefix_file = config_json['project_info']['appprefix_plist']
56
- end
57
- modify_appprefix_plist(project_dir:current_dir, appprefix_file:appprefix_file, config_json:@config_json)
58
- # prepare_env(project_dir:current_dir, apple_id:@apple_id, bundle_id:@bundle_id, config_json:@config_json)
59
-
60
- end
61
-
62
-
63
-
64
- def add_project_modue(project_dir:nil, proj_name:nil, config_json:nil)
65
- puts ""
66
- puts "Add Module: "
67
-
68
- module_dict = config_json['project_info']['project_module']
69
- if !module_dict.nil?
70
- module_dict.each do |key, module_item|
71
- puts module_item
72
- puts module_item['module_type']
73
- if module_item && module_item['module_type'] = 'pod'
74
- add_pod_modue(project_dir:project_dir, pod_name:key, pod_version:module_item['module_git_tag'])
75
- elsif module_item && module_item['module_type'] = 'sub_git'
76
-
77
- elsif module_item && module_item['module_type'] = 'package'
78
-
79
- end
80
- end
81
- end
82
-
83
- end
84
-
85
- end
86
-
87
- end
88
- end
89
- end
data/lib/pindo/deploy.rb DELETED
@@ -1,44 +0,0 @@
1
-
2
-
3
-
4
- require 'pindo/deploy/updateconfig'
5
- require 'pindo/deploy/initconfig'
6
- require 'pindo/deploy/pullconfig'
7
- require 'pindo/deploy/reportbug'
8
-
9
- require 'pindo/deploy/bundleid'
10
- require 'pindo/deploy/itcapp'
11
- require 'pindo/deploy/cert'
12
- require 'pindo/deploy/pem'
13
- require 'pindo/deploy/build'
14
-
15
- require 'pindo/deploy/configproj'
16
- require 'pindo/deploy/confusecode'
17
- require 'pindo/deploy/confuseproj'
18
- require 'pindo/deploy/fabric'
19
- require 'pindo/deploy/resign'
20
- require 'pindo/deploy/iap'
21
- require 'pindo/deploy/itcinfo'
22
- require 'pindo/deploy/getitcinfo'
23
- require 'pindo/deploy/quswark'
24
- require 'pindo/deploy/quswauth'
25
- require 'pindo/deploy/check'
26
- require 'pindo/deploy/tag'
27
-
28
- # require 'pindo/deploy/uploadipa'
29
-
30
- module Pindo
31
- class Command
32
-
33
-
34
- class Deploy < Command
35
-
36
-
37
- self.abstract_command = true
38
- self.summary = '发布阶段相关命令'
39
-
40
-
41
-
42
- end
43
- end
44
- end
data/lib/pindo/dev.rb DELETED
@@ -1,23 +0,0 @@
1
- # require 'pindo/dev/create'
2
-
3
-
4
- # require 'pindo/dev/confuseproj'
5
- # require 'pindo/dev/confusecode'
6
- # require 'pindo/dev/cert'
7
- require 'pindo/dev/pub'
8
- require 'pindo/dev/debug'
9
- require 'pindo/dev/autoresign'
10
- require 'pindo/dev/autobuild'
11
- require 'pindo/dev/renewcert'
12
- require 'pindo/dev/createbuild'
13
-
14
- module Pindo
15
- class Command
16
-
17
- class Dev < Command
18
- self.abstract_command = true
19
- self.summary = '开发阶段使用的相关命令'
20
- end
21
-
22
- end
23
- end