pindo 4.6.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +7 -0
  2. data/bin/pindo +35 -0
  3. data/lib/pindo/base/aeshelper.rb +31 -0
  4. data/lib/pindo/base/deviceinfo.rb +90 -0
  5. data/lib/pindo/base/executable.rb +224 -0
  6. data/lib/pindo/base/githelper.rb +489 -0
  7. data/lib/pindo/base/hashhelper.rb +134 -0
  8. data/lib/pindo/base/plaininformative.rb +15 -0
  9. data/lib/pindo/base/plistbuddyexecutable.rb +121 -0
  10. data/lib/pindo/base/standarderror.rb +14 -0
  11. data/lib/pindo/client/applovinclient.rb +156 -0
  12. data/lib/pindo/client/aws3sclient.rb +183 -0
  13. data/lib/pindo/client/bossclient.rb +229 -0
  14. data/lib/pindo/client/bossconfigclient.rb +175 -0
  15. data/lib/pindo/client/giteeclient.rb +65 -0
  16. data/lib/pindo/client/httpclient.rb +40 -0
  17. data/lib/pindo/client/pgyerclient.rb +439 -0
  18. data/lib/pindo/client/tgateclient.rb +103 -0
  19. data/lib/pindo/command.rb +101 -0
  20. data/lib/pindo/config/pindoconfig.rb +439 -0
  21. data/lib/pindo/config/pindouserlocalconfig.rb +81 -0
  22. data/lib/pindo/deploy/Fastfile +233 -0
  23. data/lib/pindo/deploy/build.rb +167 -0
  24. data/lib/pindo/deploy/bundleid.rb +245 -0
  25. data/lib/pindo/deploy/cert.rb +508 -0
  26. data/lib/pindo/deploy/check.rb +79 -0
  27. data/lib/pindo/deploy/configproj.rb +89 -0
  28. data/lib/pindo/deploy/confusecode.rb +248 -0
  29. data/lib/pindo/deploy/confuseproj.rb +112 -0
  30. data/lib/pindo/deploy/fabric.rb +58 -0
  31. data/lib/pindo/deploy/getitcinfo.rb +248 -0
  32. data/lib/pindo/deploy/iap.rb +796 -0
  33. data/lib/pindo/deploy/initconfig.rb +128 -0
  34. data/lib/pindo/deploy/itcapp.rb +147 -0
  35. data/lib/pindo/deploy/itcinfo.rb +369 -0
  36. data/lib/pindo/deploy/pem.rb +55 -0
  37. data/lib/pindo/deploy/pullconfig.rb +46 -0
  38. data/lib/pindo/deploy/pushconfig.rb +83 -0
  39. data/lib/pindo/deploy/quswark.rb +146 -0
  40. data/lib/pindo/deploy/quswauth.rb +67 -0
  41. data/lib/pindo/deploy/reportbug.rb +135 -0
  42. data/lib/pindo/deploy/resign.rb +338 -0
  43. data/lib/pindo/deploy/tag.rb +108 -0
  44. data/lib/pindo/deploy/updateconfig.rb +129 -0
  45. data/lib/pindo/deploy/uploadipa.rb +63 -0
  46. data/lib/pindo/deploy.rb +44 -0
  47. data/lib/pindo/dev/autobuild.rb +204 -0
  48. data/lib/pindo/dev/autoresign.rb +186 -0
  49. data/lib/pindo/dev/confusecode.rb +127 -0
  50. data/lib/pindo/dev/confuseproj.rb +111 -0
  51. data/lib/pindo/dev/createbuild.rb +159 -0
  52. data/lib/pindo/dev/debug.rb +141 -0
  53. data/lib/pindo/dev/pub.rb +171 -0
  54. data/lib/pindo/dev/renewcert.rb +142 -0
  55. data/lib/pindo/dev.rb +23 -0
  56. data/lib/pindo/env/dreamstudio.rb +53 -0
  57. data/lib/pindo/env/flutter.rb +59 -0
  58. data/lib/pindo/env/flutter.sh +116 -0
  59. data/lib/pindo/env/quarkenv.rb +58 -0
  60. data/lib/pindo/env/swarkenv.rb +62 -0
  61. data/lib/pindo/env/workhard.rb +56 -0
  62. data/lib/pindo/env.rb +17 -0
  63. data/lib/pindo/ipa/autoresign.rb +188 -0
  64. data/lib/pindo/ipa/import.rb +261 -0
  65. data/lib/pindo/ipa/output.rb +396 -0
  66. data/lib/pindo/ipa.rb +22 -0
  67. data/lib/pindo/lib/forcepush.rb +159 -0
  68. data/lib/pindo/lib/lint.rb +115 -0
  69. data/lib/pindo/lib/push.rb +143 -0
  70. data/lib/pindo/lib/update.rb +75 -0
  71. data/lib/pindo/lib.rb +18 -0
  72. data/lib/pindo/module/appselect.rb +200 -0
  73. data/lib/pindo/module/appstore_in_app_purchase.rb +1803 -0
  74. data/lib/pindo/module/appstore_metadata_connect_api_helper.rb +12 -0
  75. data/lib/pindo/module/appstore_metadata_fastlane_helper.rb +922 -0
  76. data/lib/pindo/module/buildconfighelper.rb +13 -0
  77. data/lib/pindo/module/buildhelper.rb +76 -0
  78. data/lib/pindo/module/commonconfuseproj.rb +271 -0
  79. data/lib/pindo/module/config_project.sh +143 -0
  80. data/lib/pindo/module/configprojhelper.rb +631 -0
  81. data/lib/pindo/module/iap_tier.json +813 -0
  82. data/lib/pindo/module/icon_contents.json +116 -0
  83. data/lib/pindo/module/imessage_icon.json +91 -0
  84. data/lib/pindo/module/imgset_contents.json +21 -0
  85. data/lib/pindo/module/launchimg_contents.json +21 -0
  86. data/lib/pindo/module/pemcreate.rb +63 -0
  87. data/lib/pindo/module/pgyerhelper.rb +339 -0
  88. data/lib/pindo/module/xcodebuildpre.rb +258 -0
  89. data/lib/pindo/module/xcodehelper.rb +521 -0
  90. data/lib/pindo/options/appconfigoptions.rb +23 -0
  91. data/lib/pindo/options/deployoptions.rb +363 -0
  92. data/lib/pindo/pgyer/apptest.rb +104 -0
  93. data/lib/pindo/pgyer/comment.rb +95 -0
  94. data/lib/pindo/pgyer/download.rb +105 -0
  95. data/lib/pindo/pgyer/login.rb +61 -0
  96. data/lib/pindo/pgyer/upload.rb +234 -0
  97. data/lib/pindo/pgyer.rb +17 -0
  98. data/lib/pindo/repo/clone.rb +78 -0
  99. data/lib/pindo/repo/create.rb +55 -0
  100. data/lib/pindo/repo/login.rb +64 -0
  101. data/lib/pindo/repo/search.rb +60 -0
  102. data/lib/pindo/repo.rb +16 -0
  103. data/lib/pindo/setup.rb +60 -0
  104. data/lib/pindo/upgrade.rb +56 -0
  105. data/lib/pindo/utils/applovin.rb +213 -0
  106. data/lib/pindo/utils/boss.rb +209 -0
  107. data/lib/pindo/utils/clearcert.rb +60 -0
  108. data/lib/pindo/utils/device.rb +279 -0
  109. data/lib/pindo/utils/icon.rb +91 -0
  110. data/lib/pindo/utils/icon.sh +133 -0
  111. data/lib/pindo/utils/podindex.rb +56 -0
  112. data/lib/pindo/utils/podindex.sh +30 -0
  113. data/lib/pindo/utils/renewproj.rb +146 -0
  114. data/lib/pindo/utils/tgate.rb +159 -0
  115. data/lib/pindo/utils/xcassets.rb +46 -0
  116. data/lib/pindo/utils/xcassets.sh +88 -0
  117. data/lib/pindo/utils.rb +29 -0
  118. data/lib/pindo/version.rb +110 -0
  119. data/lib/pindo.rb +34 -0
  120. metadata +364 -0
@@ -0,0 +1,245 @@
1
+ require 'highline/import'
2
+ require 'fileutils'
3
+ require 'json'
4
+ require "fastlane"
5
+ require "spaceship"
6
+
7
+ module Pindo
8
+ class Command
9
+ class Deploy < Command
10
+ class Bundleid < Deploy
11
+
12
+ include Command::DeployOptions
13
+
14
+ self.summary = '在Apple开发者中心创建bundle id'
15
+
16
+ self.description = <<-DESC
17
+ 根据config.json中的配置, 在Apple开发者中心创建bundle id. 用法:pindo deploy bundleid
18
+ DESC
19
+
20
+ self.arguments = [
21
+ CLAide::Argument.new('path/to/config.json', true),
22
+ ]
23
+
24
+ def self.options
25
+ [
26
+ ['--sign', 'sign flags'],
27
+ ].concat(super)
28
+ end
29
+
30
+ def initialize(argv)
31
+ @args_sign_flag = argv.flag?('sign', false)
32
+ super
33
+ end
34
+
35
+ def run
36
+
37
+ puts @apple_id
38
+ puts "Login #{@apple_id}..."
39
+
40
+
41
+ Spaceship.login(@apple_id.to_s)
42
+ Spaceship.select_team
43
+
44
+ # Spaceship::Portal.login(@apple_id.to_s)
45
+ # Spaceship::Portal.select_team
46
+
47
+ app_group = nil
48
+ if !@deploy_group_id.nil?
49
+ app_group = create_group_id(group_id:@deploy_group_id)
50
+ @app_group = app_group
51
+ end
52
+
53
+
54
+
55
+ parms = ["push_notification", "app_group"]
56
+
57
+ if !@config_json.nil? && !@deploy_icloud_id.nil?
58
+ @app_iclound = create_icloud_id(icloud_id:@deploy_icloud_id)
59
+ parms << "iclound"
60
+ end
61
+
62
+ app = create_bundleid(bundle_id:@bundle_id, app_group:app_group, setting_array:parms)
63
+
64
+ if !app.nil? && !@bundle_id_pushcontent.nil?
65
+ create_bundleid(bundle_id:@bundle_id_pushcontent, app_group:app_group, setting_array:["push_notification"])
66
+ end
67
+
68
+ if !app.nil? && !@bundle_id_pushservice.nil?
69
+ create_bundleid(bundle_id:@bundle_id_pushservice, app_group:app_group, setting_array:["push_notification"])
70
+ end
71
+
72
+ if !app.nil? && !@deploy_identifier_keyboard.nil?
73
+ create_bundleid(bundle_id:@deploy_identifier_keyboard, app_group:app_group, setting_array:["app_group"])
74
+ end
75
+
76
+ if !app.nil? && !@deploy_identifier_imessage.nil?
77
+ create_bundleid(bundle_id:@deploy_identifier_imessage, app_group:app_group, setting_array:["app_group"])
78
+ end
79
+
80
+ if !app.nil? && !@deploy_identifier_siri.nil?
81
+ create_bundleid(bundle_id:@deploy_identifier_siri, app_group:app_group, setting_array:["app_group", "siri"])
82
+ end
83
+
84
+ if !app.nil? && !@deploy_identifier_siriui.nil?
85
+ create_bundleid(bundle_id:@deploy_identifier_siriui, app_group:app_group, setting_array:["app_group", "siri"])
86
+ end
87
+
88
+ if !app.nil? && !@deploy_identifier_widget.nil?
89
+ create_bundleid(bundle_id:@deploy_identifier_widget, app_group:app_group, setting_array:["app_group"])
90
+ end
91
+
92
+ if !app.nil? && !@deploy_identifier_extension.nil?
93
+ create_bundleid(bundle_id:@deploy_identifier_extension, app_group:app_group, setting_array:["app_group"])
94
+ end
95
+
96
+ if !app.nil? && !@deploy_identifier_extensionad.nil?
97
+ create_bundleid(bundle_id:@deploy_identifier_extensionad, app_group:app_group, setting_array:["app_group"])
98
+ end
99
+
100
+ if !app.nil? && !@deploy_identifier_watchapp.nil?
101
+ create_bundleid(bundle_id:@deploy_identifier_watchapp, app_group:nil, setting_array:["push_notification"])
102
+ end
103
+
104
+ if !app.nil? && !@deploy_identifier_watchapp_extemsion.nil?
105
+ create_bundleid(bundle_id:@deploy_identifier_watchapp_extemsion, app_group:nil, setting_array:["push_notification"])
106
+ end
107
+
108
+ end
109
+
110
+ def create_bundleid(bundle_id:nil, app_group:nil, setting_array:[])
111
+
112
+ if !bundle_id.nil?
113
+
114
+ app = Spaceship::Portal.app.find(bundle_id)
115
+ puts
116
+ if app.nil?
117
+ puts "Create bundle id #{bundle_id} in apple developer center..."
118
+ app = Spaceship::Portal.app.create!(bundle_id: bundle_id, name: bundle_id.gsub('.', ''))
119
+ else
120
+ puts "Find bundle id #{bundle_id} in apple developer center..."
121
+ end
122
+
123
+
124
+ bundle_id_obj = Spaceship::ConnectAPI::BundleId.find(bundle_id)
125
+
126
+ if !bundle_id_obj.nil?
127
+ #GAME_CENTER
128
+ if !setting_array.nil? && setting_array.to_s.include?("game_center")
129
+ puts "Enable #{bundle_id} game_center on"
130
+ bundle_id_obj.update_capability("GAME_CENTER", enabled: true)
131
+ else
132
+ puts "Enable #{bundle_id} game_center off"
133
+ bundle_id_obj.update_capability("GAME_CENTER", enabled: false)
134
+ end
135
+ end
136
+
137
+ if setting_array.nil? || setting_array.length == 0
138
+ return nil
139
+ end
140
+
141
+
142
+ if !app.nil? && setting_array.to_s.include?("push_notification")
143
+ puts "Enable #{bundle_id} push on"
144
+ app.update_service(Spaceship::Portal.app_service.push_notification.on)
145
+ else
146
+ app.update_service(Spaceship::Portal.app_service.push_notification.off)
147
+ puts "Enable #{bundle_id} push off"
148
+ end
149
+
150
+ if !app.nil? && setting_array.to_s.include?("siri")
151
+ puts "Enable #{bundle_id} siri on"
152
+ app.update_service(Spaceship::Portal.app_service.siri_kit.on)
153
+ else
154
+ app.update_service(Spaceship::Portal.app_service.siri_kit.off)
155
+ puts "Enable #{bundle_id} siri off"
156
+ end
157
+
158
+
159
+ if !bundle_id_obj.nil? && setting_array.to_s.include?("apple_signin")
160
+ puts "Enable #{bundle_id} Sign with Apple on "
161
+ settings = build_settings_for(settings_key: "APPLE_ID_AUTH_APP_CONSENT", options_key: "PRIMARY_APP_CONSENT")
162
+ bundle_id_obj.update_capability("APPLE_ID_AUTH", enabled: true, settings: settings)
163
+ else
164
+ # app.update_service(Spaceship::Portal.app_service.push_notification.on)
165
+ puts "Enable #{bundle_id} Sign with Apple off "
166
+ bundle_id_obj.update_capability("APPLE_ID_AUTH", enabled: false)
167
+ end
168
+
169
+
170
+ if !app_group.nil? && setting_array.to_s.include?("app_group")
171
+ puts "Enable #{bundle_id} group on"
172
+ app.update_service(Spaceship::Portal.app_service.app_group.on)
173
+ app.associate_groups([app_group])
174
+ else
175
+ puts "Enable #{bundle_id} group off"
176
+ app.update_service(Spaceship::Portal.app_service.app_group.off)
177
+ end
178
+
179
+ if !@app_iclound.nil? && setting_array.to_s.include?("iclound")
180
+ puts "Enable #{bundle_id} icloud on"
181
+ app.update_service(Spaceship::Portal.app_service.cloud.on)
182
+ app.update_service(Spaceship::Portal.app_service.cloud_kit.cloud_kit)
183
+ app.associate_cloud_containers([@app_iclound])
184
+ else
185
+ puts "Enable #{bundle_id} icloud off"
186
+ app.update_service(Spaceship::Portal.app_service.cloud.off)
187
+ end
188
+
189
+ return app
190
+ end
191
+ return nil
192
+ end
193
+
194
+
195
+ def create_group_id(group_id:nil)
196
+
197
+ if !group_id.nil?
198
+
199
+ app_group = Spaceship::Portal.app_group.find(group_id)
200
+
201
+ if app_group.nil?
202
+ puts "Create group_id id #{group_id} in apple developer center..."
203
+ app_group = Spaceship::Portal.app_group.create!(group_id: group_id, name: group_id.gsub('.', ''))
204
+ else
205
+ puts "Group_id id #{group_id} is existed in apple developer center !!!"
206
+ end
207
+ return app_group
208
+ end
209
+
210
+ return nil
211
+ end
212
+
213
+ def build_settings_for(settings_key:, options_key:)
214
+ return [{
215
+ key: settings_key,
216
+ options: [ {
217
+ key: options_key
218
+ } ]
219
+ }]
220
+ end
221
+
222
+ def create_icloud_id(icloud_id:nil)
223
+
224
+ if !icloud_id.nil?
225
+
226
+ puts "icloud_id +++++ #{icloud_id}"
227
+ app_iclound = Spaceship::Portal.cloud_container.find(icloud_id)
228
+
229
+ if app_iclound.nil?
230
+ puts "Create icloud_id id #{icloud_id} in apple developer center..."
231
+ app_iclound = Spaceship::Portal.cloud_container.create!(identifier: icloud_id,name: icloud_id.gsub('.', ''))
232
+ else
233
+ puts "icloud_id id #{icloud_id} is existed in apple developer center !!!"
234
+ end
235
+ return app_iclound
236
+ end
237
+ return nil
238
+
239
+ end
240
+
241
+ end
242
+ end
243
+ end
244
+ end
245
+