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,200 @@
1
+
2
+ require 'fileutils'
3
+
4
+ module Pindo
5
+
6
+ module Appselect
7
+
8
+
9
+ def load_setting(setting_file:nil)
10
+ setting_json = nil
11
+ if setting_json.nil? && File.exist?(setting_file)
12
+ # begin
13
+ setting_json = JSON.parse(File.read(setting_file))
14
+ # rescue => exception
15
+ # puts "load Pindo build setting error !!!"
16
+ # end
17
+ end
18
+
19
+ return setting_json
20
+ end
21
+
22
+
23
+ def dev_build_setting_json
24
+ setting_file = File.join(pindo_single_config.pindo_env_configdir,'dev_build_setting.json')
25
+ setting_json = load_setting(setting_file:setting_file)
26
+ return setting_json
27
+ end
28
+
29
+ def deploy_build_setting_json
30
+ setting_file = File.join(pindo_single_config.pindo_env_configdir,'deploy_build_setting.json')
31
+ setting_json = load_setting(setting_file:setting_file)
32
+
33
+ return setting_json
34
+ end
35
+
36
+ def all_dev_bundleid
37
+ setting_file = File.join(pindo_single_config.pindo_env_configdir,'bundleid_config.json')
38
+ setting_json = load_setting(setting_file:setting_file)
39
+ sub_json = []
40
+ if !setting_json.nil? && !setting_json['all_dev_bundleid'].nil?
41
+ sub_json = setting_json['all_dev_bundleid']
42
+ end
43
+ return sub_json
44
+ end
45
+
46
+ def all_tool_bundleid
47
+ setting_file = File.join(pindo_single_config.pindo_env_configdir,'bundleid_config.json')
48
+ puts setting_file
49
+ setting_json = load_setting(setting_file:setting_file)
50
+ sub_json = []
51
+ if !setting_json.nil? && !setting_json['all_tool_bundleid'].nil?
52
+ sub_json = setting_json['all_tool_bundleid']
53
+ end
54
+ return sub_json
55
+ end
56
+
57
+ def all_release_bundleid
58
+ setting_file = File.join(pindo_single_config.pindo_env_configdir,'bundleid_config.json')
59
+ setting_json = load_setting(setting_file:setting_file)
60
+ sub_json = []
61
+ if !setting_json.nil? && !setting_json['all_release_bundleid'].nil?
62
+ sub_json = setting_json['all_release_bundleid']
63
+ end
64
+ return sub_json
65
+ end
66
+
67
+
68
+ def all_itc_bundleid
69
+ all_bundleid = []
70
+ all_bundleid = all_bundleid | all_dev_bundleid
71
+ all_bundleid = all_bundleid | all_release_bundleid
72
+ all_bundleid = all_bundleid | all_tool_bundleid
73
+
74
+ return all_bundleid
75
+ end
76
+
77
+ def select_main_app
78
+
79
+ sub_setting_json = dev_build_setting_json()
80
+
81
+ cli = HighLine.new
82
+ menu_choice="None"
83
+ puts ""
84
+ puts "如果没有想要打包的App, 可以使用 pindo dev createbuild 创建打包选项"
85
+ puts ""
86
+ puts "具体参考文档: https://tower.im/teams/851356/repository_documents/714/"
87
+ puts ""
88
+ puts "App Type:"
89
+
90
+ cli.choose do |menu| # you can also use constants like :blue
91
+ menu.header = "选用哪个bundle id?"
92
+ menu.prompt = "请选择使用的bundle id,请输入选项(1/2/3...):"
93
+ menu.index_suffix = ") "
94
+ if !sub_setting_json.nil?
95
+ sub_setting_json.each do |key, items|
96
+ menu.choice(key) do |details|
97
+ menu_choice="#{details}"
98
+ end
99
+ end
100
+ end
101
+ end
102
+
103
+ puts
104
+ puts "选择的bundle id是: #{menu_choice}"
105
+ puts
106
+
107
+ return menu_choice;
108
+ end
109
+
110
+ def get_selected_dev_bundleid()
111
+
112
+ all_bundleid = []
113
+ all_bundleid = all_bundleid | all_dev_bundleid()
114
+ all_bundleid = all_bundleid | all_tool_bundleid()
115
+
116
+ cli = HighLine.new
117
+ menu_choice="None"
118
+ cli.choose do |menu| # you can also use constants like :blue
119
+ menu.header = "选用哪个bundle id?"
120
+ menu.prompt = "请选择使用的bundle id,请输入选项(1/2/3...):"
121
+ if !all_bundleid.nil? && all_bundleid.length > 0
122
+ for bunld_id in all_bundleid do
123
+ menu.choice(bunld_id) do |details|
124
+ menu_choice="#{details}"
125
+ end
126
+ end
127
+ end
128
+ end
129
+
130
+ puts
131
+ puts "选择的bundle id是: #{menu_choice}"
132
+ puts
133
+ return menu_choice;
134
+
135
+ end
136
+
137
+ def get_selected_deploy_bundleid()
138
+
139
+ all_bundleid = all_release_bundleid()
140
+
141
+ cli = HighLine.new
142
+ menu_choice="None"
143
+ cli.choose do |menu| # you can also use constants like :blue
144
+
145
+ menu.header = "选用哪个bundle id?"
146
+ menu.prompt = "请选择使用的bundle id,请输入选项(1/2/3...):"
147
+ if !all_bundleid.nil? && all_bundleid.length > 0
148
+ for bunld_id in all_bundleid do
149
+ menu.choice(bunld_id) do |details|
150
+ menu_choice="#{details}"
151
+ end
152
+ end
153
+ end
154
+ end
155
+
156
+ puts
157
+ puts "选择的bundle id是: #{menu_choice}"
158
+ puts
159
+ return menu_choice;
160
+
161
+ end
162
+
163
+ def get_deploy_setting_repo(tagname:nil)
164
+ sub_setting_json = deploy_build_setting_json()
165
+ return sub_setting_json[tagname]['git_repo_name']
166
+ end
167
+
168
+ def get_dev_setting_repo(tagname:nil)
169
+ sub_setting_json = dev_build_setting_json()
170
+ return sub_setting_json[tagname]['git_repo_name']
171
+ end
172
+
173
+ def get_setting_bundleid_withdir(repo_dir:nil)
174
+
175
+ bundl_id = ""
176
+ config_json_file = File.join(repo_dir, "config.json")
177
+ if File.exist?(config_json_file)
178
+ config_json = JSON.parse(File.read(config_json_file))
179
+ bundl_id = config_json["app_info"]["app_identifier"]
180
+
181
+ end
182
+ return bundl_id
183
+ end
184
+
185
+ def get_deploy_repo_with_modul_name(module_name:nil)
186
+
187
+ sub_setting_json = deploy_build_setting_json()
188
+ repo_name = nil
189
+
190
+ begin
191
+ repo_name = sub_setting_json[module_name]['git_repo_name']
192
+ rescue => err
193
+ raise Informative, "config.json app_type is error!!!"
194
+ end
195
+
196
+ return repo_name
197
+ end
198
+ end
199
+
200
+ end