pindo 4.6.9 → 4.7.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,234 +0,0 @@
1
-
2
-
3
- require 'highline/import'
4
- require 'fileutils'
5
- require 'json'
6
- require 'faraday'
7
- require 'pindo/module/pgyerhelper.rb'
8
-
9
-
10
- module Pindo
11
- class Command
12
- class Pgyer < Command
13
- class Upload < Pgyer
14
-
15
-
16
- self.summary = '上传ipa包到pgyer测试网站'
17
-
18
- self.description = <<-DESC
19
- 上传ipa包到pgyer。用法:例如:pindo pgyer upload path/to/demo.ipa
20
- DESC
21
-
22
- self.arguments = [
23
- CLAide::Argument.new('path/to/demo.ipa', false),
24
- ]
25
-
26
- def self.options
27
- [
28
- ['--login', '强制再次登录pgyer网站,用法: pindo pgyer upload --login'],
29
- ['--ipa', '强制指定上传的ipa文件: pindo pgyer upload --ipa=path/to/demo.ipa'],
30
- ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo pgyer upload --proj=prancksoundv4'],
31
- ['--attach', '指定需要和ipa一起上传的附件: pindo pgyer upload --attach=path/to/attach.zip'],
32
- ['--send', '上传到之后是否发送测试信息,用法:pindo pgyer upload --send'],
33
- ['--desc', '指定上传的备注信息: -pindo pgyer upload -desc="1.upload message"'],
34
-
35
- ].concat(super)
36
- end
37
-
38
-
39
- def initialize(argv)
40
-
41
- @args_ipa_file = argv.shift_argument
42
- @args_ipa_file = argv.option('ipa')
43
-
44
- if @args_ipa_file && !@args_ipa_file.empty?
45
- @args_ipa_file = @args_ipa_file.strip.gsub(/\"/, '')
46
- end
47
- @args_login_flag = argv.flag?('login', false)
48
- @args_send_flag = argv.flag?('send', false)
49
- @args_proj_name = argv.option('proj')
50
- @args_attach_name = argv.option('attach')
51
- @args_upload_desc = argv.option('desc')
52
- if @args_upload_desc && !@args_upload_desc.empty?
53
- @args_upload_desc = @args_upload_desc.strip.gsub(/\"/, '')
54
- end
55
-
56
-
57
-
58
- super(argv)
59
- @additional_args = argv.remainder!
60
- end
61
-
62
- def validate!
63
-
64
- if @args_proj_name.nil?
65
- xcodeproj_file_name = Dir.glob(File.join(Dir.pwd, "/*.xcodeproj")).max_by {|f| File.mtime(f)}
66
- proj_name = File.basename(xcodeproj_file_name, ".xcodeproj") if xcodeproj_file_name
67
- if !proj_name.nil?
68
- puts
69
- answer = agree("Pgyer的App项目代号是: #{proj_name} ?(Y/n)")
70
- if answer
71
- @args_proj_name = proj_name
72
- end
73
- end
74
- end
75
-
76
- super
77
- end
78
-
79
- def run
80
-
81
- current_project_dir = Dir.pwd
82
- is_in_project_dir = false
83
-
84
- if @args_ipa_file.nil? || !File.exist?(@args_ipa_file)
85
-
86
- build_path = File.join(current_project_dir, "build", "*.ipa")
87
- @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
88
- if @args_ipa_file.nil?
89
- build_path = File.join(current_project_dir, "*.ipa")
90
- @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
91
- end
92
- if !@args_ipa_file.nil?
93
- answer = agree("需要上传的ipa文件是: #{@args_ipa_file} ?(Y/n)")
94
- if !answer
95
- @args_ipa_file = nil
96
- end
97
- end
98
-
99
- if !@args_ipa_file.nil? && File.exist?(@args_ipa_file)
100
- is_in_project_dir = true
101
- else
102
- @args_ipa_file = ask('需要上传的IPA文件:') || nil
103
- @args_ipa_file = @args_ipa_file.strip.gsub(/\\ /, ' ')
104
-
105
- end
106
- end
107
-
108
- if !File.exist?(@args_ipa_file)
109
- raise Informative, "#{@args_ipa_file} 文件不存在"
110
- end
111
-
112
-
113
- @pgyer_client = PgyerClient.new
114
- app_info_obj = nil
115
- login_success = @pgyer_client.do_login(force_login:@args_login_flag)
116
- if login_success
117
- PgyerHelper.share_instace.get_app_list_in_pgyer(client:@pgyer_client)
118
- if !@args_proj_name.nil?
119
- app_info_obj = PgyerHelper.share_instace.find_app_info_with_obj_list(proj_name:@args_proj_name)
120
- end
121
-
122
- if app_info_obj.nil?
123
- @args_proj_name = ask('请输入Pyger上的App代号(大小写空格忽略):') || nil
124
- @args_proj_name = @args_proj_name.strip
125
- app_info_obj = PgyerHelper.share_instace.find_app_info_with_obj_list(proj_name:@args_proj_name)
126
- end
127
- end
128
-
129
- if app_info_obj.nil?
130
- raise Informative, "#{@args_proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
131
- end
132
-
133
-
134
-
135
- if @args_upload_desc.nil?
136
- if is_in_project_dir
137
- commit_id_info = git_latest_commit_id(local_repo_dir:current_project_dir)
138
- @args_upload_desc = "commit " + commit_id_info
139
- end
140
- end
141
-
142
-
143
- addtach_file = nil
144
- if is_in_project_dir && File.exist?(File.join(current_project_dir, "VMData"))
145
-
146
- server_file_directory = Dir.glob(File.join(current_project_dir, "VMData/Archives/*")).max_by {|f| File.mtime(f)}
147
- zip_base_name = File.basename(server_file_directory)
148
-
149
- server_zipfile_name = File.join(current_project_dir, "VMData", zip_base_name+".zip")
150
-
151
- if File.exist?(server_zipfile_name)
152
- FileUtils.rm_rf(server_zipfile_name)
153
- end
154
- Zip::File.open(server_zipfile_name, Zip::File::CREATE) do |zipfile|
155
- Dir.chdir server_file_directory
156
- Dir.glob("**/*").reject {|fn| File.directory?(fn) }.each do |file|
157
- zipfile.add(file.sub(server_file_directory + '/', ''), file)
158
- end
159
- end
160
-
161
- addtach_file = server_zipfile_name
162
- Dir.chdir current_project_dir
163
- end
164
-
165
- args_ipa_file_dir = File.expand_path(File::dirname(@args_ipa_file))
166
- @args_ipa_file=File.join(args_ipa_file_dir, File.basename(@args_ipa_file))
167
-
168
- puts "==========================="
169
- puts " 准备上传 ..."
170
- puts "==========================="
171
- puts
172
- puts "上传项目: #{@args_proj_name}"
173
- puts "上传备注: #{@args_upload_desc}"
174
-
175
-
176
- aws_client = AWSS3Client.new
177
- upload_res = aws_client.upload_file(binary_file:@args_ipa_file)
178
-
179
- attach_key_url = nil
180
- attachFileUrls = []
181
-
182
-
183
- begin
184
- if !addtach_file.nil? && File.exist?(addtach_file)
185
- puts "存在附件, 继续上传附件..."
186
- attach_key_url = aws_client.upload_file(binary_file:addtach_file, isAttach:true)
187
- end
188
-
189
- if !attach_key_url.nil?
190
- attachFileUrls << attach_key_url
191
- end
192
-
193
- rescue => error
194
- puts "附件上传失败".bold.red
195
- end
196
-
197
-
198
-
199
- app_version_info_obj = nil
200
-
201
- if !upload_res.nil? && !app_info_obj.nil?
202
-
203
- puts attachFileUrls
204
-
205
- result_data = @pgyer_client.post_app_update_binary(appId:app_info_obj["appId"], params:{
206
- description: @args_upload_desc,
207
- s3Url: upload_res,
208
- attachFileUrls:attachFileUrls
209
- })
210
-
211
-
212
- if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
213
- puts
214
- puts "上传成功 !!!"
215
- puts
216
- puts
217
-
218
- msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:result_data["data"], msg_from: @pgyer_client.token["username"])
219
-
220
- PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
221
- if @args_send_flag
222
- PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data)
223
- end
224
- end
225
-
226
- end
227
-
228
-
229
- end
230
-
231
- end
232
- end
233
- end
234
- end
data/lib/pindo/pgyer.rb DELETED
@@ -1,17 +0,0 @@
1
-
2
- require 'pindo/pgyer/login'
3
- require 'pindo/pgyer/upload'
4
- require 'pindo/pgyer/download'
5
- require 'pindo/pgyer/comment'
6
- require 'pindo/pgyer/apptest'
7
-
8
- module Pindo
9
- class Command
10
-
11
- class Pgyer < Command
12
- self.abstract_command = true
13
- self.summary = '操作pgyer网站的相关命令'
14
- end
15
-
16
- end
17
- end
@@ -1,91 +0,0 @@
1
-
2
-
3
- require 'highline/import'
4
- require 'fileutils'
5
- require 'json'
6
-
7
- module Pindo
8
- class Command
9
- class Utils < Command
10
- class Icon < Utils
11
-
12
- self.summary = '根据1024*1024icon生成Xcode标准icon文件'
13
-
14
- self.description = <<-DESC
15
- 根据1024*1024icon生成Xcode标准icon文件,用法:pindo utils icon path/to/demo.png
16
- DESC
17
-
18
-
19
- self.arguments = [
20
- CLAide::Argument.new('path/to/demo.png', true),
21
- ]
22
-
23
- def self.options
24
- [
25
-
26
- ].concat(super)
27
- end
28
-
29
- def initialize(argv)
30
- @icon_name = argv.shift_argument
31
- super(argv)
32
- @additional_args = argv.remainder!
33
- end
34
-
35
- def validate!
36
- super
37
-
38
- help! 'Need a icon name' if @icon_name.nil? || @icon_name.empty?
39
-
40
- end
41
-
42
- def run
43
- utils_icon()
44
- end
45
-
46
- def utils_icon
47
-
48
- imessage_icon_dir = File.dirname(@icon_name)
49
- imessage_icon = File.join(imessage_icon_dir, "icon1024_768.png")
50
-
51
-
52
- time = Time.now.strftime('%m%d-%H%M%S')
53
- new_icon_dir = File.join(Dir.pwd, "icon_"+time)
54
-
55
- if File.exist?(imessage_icon)
56
- command = 'sh ' + File.join(File.expand_path('./', __dir__), 'icon.sh') + ' -i "' + @icon_name+ '" -a "' + imessage_icon + '" -o "' + new_icon_dir + '"'
57
- else
58
- command = 'sh ' + File.join(File.expand_path('./', __dir__), 'icon.sh') + ' -i "' + @icon_name+ '" -o "' + new_icon_dir + '"'
59
- end
60
- puts command
61
- system command
62
-
63
-
64
- new_proj_file = File.join(new_icon_dir, "Contents.json")
65
- default_json_file = File.join(File.expand_path('../', __dir__), 'module/icon_contents.json')
66
- new_proj_file_json = JSON.parse(File.read(default_json_file))
67
- File.open(new_proj_file, "w") do |f|
68
- f.write(JSON.pretty_generate(new_proj_file_json))
69
- end
70
-
71
-
72
- imessage_icon_dir = File.join(new_icon_dir, "imessage")
73
- if File.exist?(imessage_icon_dir)
74
- new_proj_file = File.join(new_icon_dir, "imessage/Contents.json")
75
- default_json_file = File.join(File.expand_path('../', __dir__), 'module/imessage_icon.json')
76
- new_proj_file_json = JSON.parse(File.read(default_json_file))
77
- File.open(new_proj_file, "w") do |f|
78
- f.write(JSON.pretty_generate(new_proj_file_json))
79
- end
80
- end
81
-
82
-
83
-
84
- system "open #{new_icon_dir}"
85
-
86
- end
87
-
88
- end
89
- end
90
- end
91
- end
@@ -1,133 +0,0 @@
1
-
2
-
3
-
4
- INPUT_IMESSAGE_FILE=
5
-
6
- while getopts "i:o:a:" opt
7
- do
8
- case $opt in
9
- i)
10
- INPUT_FILE=$OPTARG
11
- echo "Input File: $INPUT_FILE"
12
- ;;
13
- a)
14
- INPUT_IMESSAGE_FILE=$OPTARG
15
- echo "INPUT_IMESSAGE_FILE: $INPUT_IMESSAGE_FILE"
16
- ;;
17
- o)
18
- OUTPUT_DIR=$OPTARG
19
- echo "Output Dir: $OUTPUT_DIR"
20
- ;;
21
- *)
22
- echo "Use with -i name -o prefix"
23
- exit 1
24
- ;;
25
- esac
26
- done
27
-
28
- DIR=`dirname "$INPUT_FILE"`
29
- TEMP_DIR="$DIR"/iconres_$(date +%Y%m%d%H%M%S)
30
-
31
- if [[ "$OUTPUT_DIR" == "" ]]; then
32
- OUTPUT_DIR="$TEMP_DIR"
33
- fi
34
-
35
- echo
36
-
37
- if ! [[ -d "$OUTPUT_DIR" ]]; then
38
- mkdir "$OUTPUT_DIR"
39
- fi
40
-
41
-
42
- if [[ "$INPUT_IMESSAGE_FILE" != "" ]]; then
43
- if ! [[ -d "$OUTPUT_DIR/imessage" ]]; then
44
- mkdir "$OUTPUT_DIR/imessage"
45
- fi
46
- fi
47
-
48
-
49
- # function mkIconAndroid() {
50
- # if [[ -z "$@" ]]; then
51
- # echo "Input file missing"
52
- # else
53
- # sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 32 32 $INPUT_FILE --out "$OUTPUT_DIR"/icon_ldpi.png
54
- # sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 36 36 $INPUT_FILE --out "$OUTPUT_DIR"/icon.png
55
- # sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 48 48 $INPUT_FILE --out "$OUTPUT_DIR"/icon_mdpi.png
56
- # sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 72 72 $INPUT_FILE --out "$OUTPUT_DIR"/icon_hdpi.png
57
- # sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 96 96 $INPUT_FILE --out "$OUTPUT_DIR"/icon_xhdpi.png
58
- # sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 144 144 $INPUT_FILE --out "$OUTPUT_DIR"/icon_xxhdpi.png
59
- # sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 192 192 $INPUT_FILE --out "$OUTPUT_DIR"/icon_xxxhdpi.png
60
- # fi
61
- # }
62
-
63
-
64
-
65
- function ceaate_ios_icon() {
66
- if [[ -z "$@" ]]; then
67
- echo "Input file missing"
68
- else
69
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 20 20 "$1" --out "$OUTPUT_DIR"/icon20@1x.png
70
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 40 40 "$1" --out "$OUTPUT_DIR"/icon20@2x.png
71
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 60 60 "$1" --out "$OUTPUT_DIR"/icon20@3x.png
72
-
73
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 29 29 "$1" --out "$OUTPUT_DIR"/icon29@1x.png
74
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 58 58 "$1" --out "$OUTPUT_DIR"/icon29@2x.png
75
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 87 87 "$1" --out "$OUTPUT_DIR"/icon29@3x.png
76
-
77
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 40 40 "$1" --out "$OUTPUT_DIR"/icon40@1x.png
78
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 80 80 "$1" --out "$OUTPUT_DIR"/icon40@2x.png
79
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 120 120 "$1" --out "$OUTPUT_DIR"/icon40@3x.png
80
-
81
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 120 120 "$1" --out "$OUTPUT_DIR"/icon60@2x.png
82
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 180 180 "$1" --out "$OUTPUT_DIR"/icon60@3x.png
83
-
84
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 76 76 "$1" --out "$OUTPUT_DIR"/icon76@1x.png
85
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 152 152 "$1" --out "$OUTPUT_DIR"/icon76@2x.png
86
-
87
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 167 167 "$1" --out "$OUTPUT_DIR"/icon83_5@2x.png
88
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 1024 1024 "$1" --out "$OUTPUT_DIR"/icon1024@1x.png
89
- fi
90
- }
91
-
92
- function ceaate_ios_imessage_icon() {
93
- if [[ -z "$@" ]]; then
94
- echo "Input file missing"
95
- else
96
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 58 58 "$1" --out "$OUTPUT_DIR"/imessage/icon29@2x.png
97
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 87 87 "$1" --out "$OUTPUT_DIR"/imessage/icon29@3x.png
98
-
99
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 90 120 "$2" --out "$OUTPUT_DIR"/imessage/icon60_45@2x.png
100
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 135 180 "$2" --out "$OUTPUT_DIR"/imessage/icon60_45@3x.png
101
-
102
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 100 134 "$2" --out "$OUTPUT_DIR"/imessage/icon67_50@2x.png
103
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 110 148 "$2" --out "$OUTPUT_DIR"/imessage/icon74_55@2x.png
104
-
105
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 1024 1024 "$1" --out "$OUTPUT_DIR"/imessage/icon1024@1x.png
106
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 768 1024 "$2" --out "$OUTPUT_DIR"/imessage/icon1024_768@1x.png
107
-
108
-
109
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 40 54 "$2" --out "$OUTPUT_DIR"/imessage/icon27_20@2x.png
110
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 60 81 "$2" --out "$OUTPUT_DIR"/imessage/icon27_20@3x.png
111
-
112
-
113
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 48 64 "$2" --out "$OUTPUT_DIR"/imessage/icon32_24@2x.png
114
- sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 72 96 "$2" --out "$OUTPUT_DIR"/imessage/icon32_24@3x.png
115
-
116
- fi
117
- }
118
-
119
- # sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 512 512 $INPUT_FILE --out $DEST_DIR/Icon-512.png
120
- # sips --matchTo '/System/Library/ColorSync/Profiles/sRGB Profile.icc' -z 1024 1024 $INPUT_FILE --out $DEST_DIR/Icon-1024.png
121
-
122
- # mkIconAndroid $INPUT_FILE
123
- ceaate_ios_icon "$INPUT_FILE"
124
-
125
- if [[ "$INPUT_IMESSAGE_FILE" != "" ]]; then
126
- ceaate_ios_imessage_icon "$INPUT_FILE" "$INPUT_IMESSAGE_FILE"
127
- fi
128
-
129
-
130
-
131
-
132
-
133
-
@@ -1,56 +0,0 @@
1
-
2
-
3
- require 'highline/import'
4
-
5
- module Pindo
6
- class Command
7
- class Utils < Command
8
- class Podindex < Utils
9
-
10
- self.summary = '更新私有pod所索引库.'
11
-
12
- self.description = <<-DESC
13
- 更新私有pod所索引库
14
- DESC
15
-
16
-
17
- self.arguments = [
18
-
19
- ]
20
-
21
- def self.options
22
- [
23
-
24
- ].concat(super)
25
- end
26
-
27
- def initialize(argv)
28
- super(argv)
29
- @additional_args = argv.remainder!
30
- end
31
-
32
- def validate!
33
- super
34
- end
35
-
36
- def run
37
- current_dir = Dir.pwd;
38
-
39
- clone_pindo_common_config_repo(force_delete:false)
40
- clone_pindo_env_config_repo(force_delete:false)
41
-
42
- pod_array = pindo_single_config.pod_repo_dict
43
-
44
- if !pod_array.nil?
45
- pod_array.each do |key, value|
46
- command = 'sh ' + File.join(File.expand_path('./', __dir__), 'podindex.sh') + " #{value}"
47
- system command
48
- end
49
- end
50
-
51
- end
52
-
53
- end
54
- end
55
- end
56
- end
@@ -1,30 +0,0 @@
1
- #!/bin/bash
2
-
3
-
4
- LONG_REPO_URL=$1
5
-
6
- SHORT_REPO_URL=${LONG_REPO_URL##*/}
7
-
8
- SHORT_REPO_NAME=${SHORT_REPO_URL%.*}
9
-
10
-
11
- REPOPATH=$(pod repo | grep -A 1 "$SHORT_REPO_URL" | sed -n '2p'| awk '{print $3}')
12
-
13
- if [[ $REPOPATH == "" ]]; then
14
- pod repo add $SHORT_REPO_NAME $LONG_REPO_URL
15
- else
16
- echo
17
- echo Update ${REPOPATH} ...
18
- echo
19
- /usr/bin/git -C ${REPOPATH} fetch origin --progress
20
- /usr/bin/git -C ${REPOPATH} rev-parse --abbrev-ref HEAD
21
- /usr/bin/git -C ${REPOPATH} reset --hard origin/master
22
- fi
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
data/lib/pindo/utils.rb DELETED
@@ -1,29 +0,0 @@
1
-
2
- require 'pindo/utils/icon'
3
- require 'pindo/utils/renewproj'
4
- require 'pindo/utils/clearcert'
5
- require 'pindo/utils/xcassets'
6
- require 'pindo/utils/podindex'
7
- require 'pindo/utils/device'
8
- require 'pindo/utils/applovin'
9
- require 'pindo/utils/tgate'
10
- require 'pindo/utils/boss'
11
-
12
-
13
- module Pindo
14
- class Command
15
-
16
- class Utils < Command
17
-
18
-
19
- self.abstract_command = true
20
-
21
- self.summary = '其他工具类的相关命令'
22
-
23
- self.description = '其他工具类的相关命令'
24
-
25
-
26
- end
27
-
28
- end
29
- end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes