pindo 4.6.9

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 (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
+