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,159 @@
1
+ require 'highline/import'
2
+ require 'fileutils'
3
+ require 'json'
4
+
5
+ module Pindo
6
+ class Command
7
+ class Lib < Command
8
+ class Forcepush < Lib
9
+
10
+ self.summary = '将私有pod库推送到远程仓库中'
11
+
12
+ self.description = <<-DESC
13
+ 将私有pod库推送到远程仓库并添加到索引库中。用法:在工程目录下执行 pod lib libpush
14
+ DESC
15
+
16
+ self.arguments = [
17
+ CLAide::Argument.new('podspec', true)
18
+ ]
19
+
20
+ def self.options
21
+ [
22
+ ['--p', '指定需要lint的pod库所在目录, 例如 --p=~/Users/xxx/MyPod'],
23
+ ].concat(super)
24
+ end
25
+
26
+ def initialize(argv)
27
+ @pod_spec_file = argv.shift_argument || nil
28
+ @project_dir = argv.option('p')
29
+
30
+ super(argv)
31
+ @additional_args = argv.remainder!
32
+ end
33
+
34
+ def validate!
35
+ super
36
+ @project_dir=Dir.pwd if @project_dir.nil? || @project_dir.empty?
37
+ end
38
+
39
+ def run
40
+
41
+ working_dir = @project_dir
42
+ process_need_add_files(project_dir:working_dir)
43
+
44
+ podspecs = []
45
+ if @pod_spec_file && (@pod_spec_file.to_s.end_with?('.podspec') || @pod_spec_file.to_s.end_with?('.json'))
46
+ podspecs = [@pod_spec_file]
47
+ else
48
+ podspecs = Pathname.glob(File.join(working_dir, '*.podspec{.json,}'))
49
+ end
50
+ if podspecs.count.zero?
51
+ raise Informative, '工作目录下没有任何podspec文件'
52
+ end
53
+
54
+
55
+ sources = Pod::Config.instance.sources_manager.all
56
+
57
+ pod_array = pindo_single_config.pod_repo_dict
58
+ pod_index_url = nil
59
+ if !pod_array.nil?
60
+ pod_index_url = pod_array['podindex']
61
+ else
62
+ raise Informative, '私有Pod索引地址未知!!'
63
+ end
64
+ private_source = sources.select { |s| s.git? && s.url.to_s.eql?(pod_index_url)}.first
65
+ if private_source.nil?
66
+ raise Informative, "私有Pod索引地址未知!"
67
+ end
68
+ begin
69
+ puts
70
+ private_source_branch = "master"
71
+ git!(%W(-C #{private_source.repo} reset --hard))
72
+ git!(%W(-C #{private_source.repo} clean -dfx))
73
+ git!(%W(-C #{private_source.repo} branch --set-upstream-to=origin/#{private_source_branch} #{private_source_branch}))
74
+ git!(%W(-C #{private_source.repo} pull))
75
+ rescue StandardError => e
76
+ raise Informative, "私有Pod索引目录异常,请删除#{private_source.repo}重新新下载"
77
+ end
78
+
79
+
80
+
81
+ pod_index_url_header = pod_index_url.slice(0, pod_index_url.rindex('/'))
82
+ pod_index_url_git_org = File.basename(pod_index_url_header)
83
+ working_dir_git_url = git!(%W(-C #{working_dir} config --get remote.origin.url)).chomp
84
+ working_dir_git_url_header = working_dir_git_url.slice(0, working_dir_git_url.rindex('/'))
85
+ working_dir_git_org = File.basename(working_dir_git_url_header)
86
+ if working_dir_git_org.include?(":")
87
+ working_dir_git_org = working_dir_git_org.slice(working_dir_git_org.rindex(':')+1, working_dir_git_org.size())
88
+ end
89
+
90
+ puts "pod本地地址: #{working_dir}"
91
+ puts "pod远程地址: #{working_dir_git_url}"
92
+ puts "索引本地地址: #{private_source.repo}"
93
+ puts "索引远程地址: #{private_source.url}"
94
+ puts pod_index_url_git_org
95
+ puts working_dir_git_org
96
+
97
+ if pod_index_url_git_org != working_dir_git_org
98
+ puts
99
+ puts "索引库地址:#{pod_index_url_git_org}"
100
+ puts "Pod库地址:#{working_dir_git_org}"
101
+ answer = agree("私有Pod索引地址与工作目录不一致, 是否继续推送(Y/n):")
102
+ unless answer
103
+ raise Informative, "私有Pod索引地址与工作目录不一致!!!请使用pindo env 切换环境后再推送"
104
+ end
105
+ end
106
+
107
+ puts
108
+ puts "即将强制推送如下Pod库:"
109
+ command_array = []
110
+ podspecs.each do |podspec|
111
+ puts
112
+ puts podspec
113
+ podspec_obj = Pod::Specification.from_file(podspec)
114
+ pod_name = podspec_obj.name
115
+ tag_name = podspec_obj.version.to_s
116
+ puts "名称: #{pod_name} 版本: #{tag_name}"
117
+ end
118
+
119
+ puts
120
+ answer = agree("确定强制推送以上Pod库(Y/n):")
121
+ unless answer
122
+ raise Informative, "停止推送!!!"
123
+ end
124
+
125
+
126
+ puts "先检查对应的tag是否添加"
127
+ podspecs.each do |podspec|
128
+ puts
129
+ puts podspec
130
+ podspec_obj = Pod::Specification.from_file(podspec)
131
+ pod_name = podspec_obj.name
132
+ tag_name = podspec_obj.version.to_s
133
+ add_tag_with_check(local_repo_dir:working_dir, tag_name:tag_name)
134
+ end
135
+
136
+ puts "强制推送中..."
137
+ podspecs.each do |podspec|
138
+ podspec_obj = Pod::Specification.from_file(podspec)
139
+ pod_name = podspec_obj.name
140
+ tag_name = podspec_obj.version.to_s
141
+
142
+ dest_dir = File.join(private_source.repo,pod_name, tag_name)
143
+ puts dest_dir
144
+ begin FileUtils.mkdir_p(dest_dir) rescue StandardError => e end
145
+ FileUtils.cp_r(podspec, File.join(dest_dir, File.basename(podspec)))
146
+ puts "上传到仓库 #{private_source.repo}"
147
+ git_addpush_repo(path:private_source.repo, message:"add #{pod_name} #{tag_name}")
148
+ end
149
+
150
+
151
+
152
+ end
153
+
154
+
155
+
156
+ end
157
+ end
158
+ end
159
+ end
@@ -0,0 +1,115 @@
1
+ require 'highline/import'
2
+ require 'fileutils'
3
+ require 'json'
4
+
5
+ module Pindo
6
+ class Command
7
+ class Lib < Command
8
+ class Lint < Lib
9
+
10
+ self.summary = '本地编译私有pod库, 相当于pod lint功能'
11
+
12
+ self.description = <<-DESC
13
+ pod lint私有库,本地编译私有库,在私有库目录下执行pindo lib liblint
14
+ DESC
15
+
16
+ self.arguments = [
17
+ CLAide::Argument.new('podspec', true)
18
+ ]
19
+
20
+ def self.options
21
+ [
22
+ ['--p', '指定需要lint的pod库所在目录, 例如 --p=~/Users/xxx/MyPod'],
23
+ ].concat(super)
24
+ end
25
+
26
+ def initialize(argv)
27
+ @pod_spec_file = argv.shift_argument || nil
28
+ @project_dir = argv.option('p')
29
+
30
+ super(argv)
31
+ @additional_args = argv.remainder!
32
+ end
33
+
34
+ def validate!
35
+ super
36
+ @project_dir=Dir.pwd if @project_dir.nil? || @project_dir.empty?
37
+ end
38
+
39
+ def run
40
+
41
+ working_dir = @project_dir
42
+ podspecs = []
43
+ if @pod_spec_file && (@pod_spec_file.to_s.end_with?('.podspec') || @pod_spec_file.to_s.end_with?('.json'))
44
+ podspecs = [@pod_spec_file]
45
+ else
46
+ podspecs = Pathname.glob(File.join(working_dir, '*.podspec{.json,}'))
47
+ end
48
+ if podspecs.count.zero?
49
+ raise Informative, '工作目录下没有任何podspec文件'
50
+ end
51
+
52
+ pod_array = pindo_single_config.pod_repo_dict
53
+ pod_index_url = nil
54
+ if !pod_array.nil?
55
+ pod_index_url = pod_array['podindex']
56
+ else
57
+ raise Informative, '私有Pod索引地址未知!!'
58
+ end
59
+ sources = Pod::Config.instance.sources_manager.all
60
+ public_source = sources.select { |s| s.is_a?(Pod::CDNSource) }.first
61
+ if public_source.nil?
62
+ public_source = sources.select { |s| s.git? && s.url.to_s.include?("CocoaPods/Specs.git") }.first
63
+ end
64
+ if public_source.nil?
65
+ raise Informative, '公有Pod地址未知,请pod install安装pod库'
66
+ end
67
+ private_source = sources.select { |s| s.git? && s.url.to_s.eql?(pod_index_url)}.first
68
+ if private_source.nil?
69
+ raise Informative, "私有Pod索引地址未知!"
70
+ end
71
+
72
+
73
+
74
+ command_array = []
75
+ puts "即将执行下列命令:"
76
+ podspecs.each do |podspec|
77
+ command = "pod lib lint #{podspec} --sources=#{private_source.url},#{public_source.url} --allow-warnings --use-libraries --use-modular-headers --no-clean --fail-fast --verbose"
78
+ puts
79
+ puts command
80
+ puts
81
+ command_array << command
82
+ end
83
+
84
+ answer = agree("是否运行以上命令(Y/n):")
85
+ unless answer
86
+ raise Informative, "停止运行!!!"
87
+ end
88
+
89
+ command_array.each do |command|
90
+ puts "正在运行命令:"
91
+ puts
92
+ puts command
93
+ system command
94
+ end
95
+
96
+ end
97
+
98
+
99
+ def podspecs_to_lint
100
+ if !@podspecs_paths.empty?
101
+ Array(@podspecs_paths)
102
+ else
103
+ podspecs = Pathname.glob(Pathname.pwd + '*.podspec{.json,}')
104
+ if podspecs.count.zero?
105
+ raise Informative, 'Unable to find a podspec in the working ' \
106
+ 'directory'
107
+ end
108
+ podspecs
109
+ end
110
+ end
111
+
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,143 @@
1
+ require 'highline/import'
2
+ require 'fileutils'
3
+ require 'json'
4
+
5
+ module Pindo
6
+ class Command
7
+ class Lib < Command
8
+ class Push < Lib
9
+
10
+ self.summary = '将私有pod库推送到远程仓库中'
11
+
12
+ self.description = <<-DESC
13
+ 将私有pod库推送到远程仓库并添加到索引库中。用法:在工程目录下执行 pod lib libpush
14
+ DESC
15
+
16
+ self.arguments = [
17
+ CLAide::Argument.new('podspec', true)
18
+ ]
19
+
20
+ def self.options
21
+ [
22
+ ['--p', '指定需要lint的pod库所在目录, 例如 --p=~/Users/xxx/MyPod'],
23
+ ].concat(super)
24
+ end
25
+
26
+ def initialize(argv)
27
+ @pod_spec_file = argv.shift_argument || nil
28
+ @project_dir = argv.option('p')
29
+
30
+ super(argv)
31
+ @additional_args = argv.remainder!
32
+ end
33
+
34
+ def validate!
35
+ super
36
+ @project_dir=Dir.pwd if @project_dir.nil? || @project_dir.empty?
37
+ end
38
+
39
+ def run
40
+
41
+ working_dir = @project_dir
42
+ process_need_add_files(project_dir:working_dir)
43
+
44
+ podspecs = []
45
+ if @pod_spec_file && (@pod_spec_file.to_s.end_with?('.podspec') || @pod_spec_file.to_s.end_with?('.json'))
46
+ podspecs = [@pod_spec_file]
47
+ else
48
+ podspecs = Pathname.glob(File.join(working_dir, '*.podspec{.json,}'))
49
+ end
50
+ if podspecs.count.zero?
51
+ raise Informative, '工作目录下没有任何podspec文件'
52
+ end
53
+
54
+
55
+
56
+ sources = Pod::Config.instance.sources_manager.all
57
+ public_source = sources.select { |s| s.is_a?(Pod::CDNSource) }.first
58
+ if public_source.nil?
59
+ public_source = sources.select { |s| s.git? && s.url.to_s.include?("CocoaPods/Specs.git") }.first
60
+ end
61
+ if public_source.nil?
62
+ raise Informative, '公有Pod地址未知,请pod install安装pod库'
63
+ end
64
+
65
+
66
+ pod_array = pindo_single_config.pod_repo_dict
67
+ pod_index_url = nil
68
+ if !pod_array.nil?
69
+ pod_index_url = pod_array['podindex']
70
+ else
71
+ raise Informative, '私有Pod索引地址未知!!'
72
+ end
73
+ private_source = sources.select { |s| s.git? && s.url.to_s.eql?(pod_index_url)}.first
74
+ if private_source.nil?
75
+ raise Informative, "私有Pod索引地址未知!"
76
+ end
77
+
78
+ pod_index_url_header = pod_index_url.slice(0, pod_index_url.rindex('/'))
79
+ pod_index_url_git_org = File.basename(pod_index_url_header)
80
+ working_dir_git_url = git!(%W(-C #{working_dir} config --get remote.origin.url)).chomp
81
+ working_dir_git_url_header = working_dir_git_url.slice(0, working_dir_git_url.rindex('/'))
82
+ working_dir_git_org = File.basename(working_dir_git_url_header)
83
+ if working_dir_git_org.include?(":")
84
+ working_dir_git_org = working_dir_git_org.slice(working_dir_git_org.rindex(':')+1, working_dir_git_org.size())
85
+ end
86
+
87
+
88
+ puts "pod本地地址: #{working_dir}"
89
+ puts "pod远程地址: #{working_dir_git_url}"
90
+ puts "索引本地地址: #{private_source.repo}"
91
+ puts "索引远程地址: #{private_source.url}"
92
+
93
+ if pod_index_url_git_org != working_dir_git_org
94
+ puts
95
+ puts "索引库地址:#{pod_index_url_git_org}"
96
+ puts "Pod库地址:#{working_dir_git_org}"
97
+ answer = agree("私有Pod索引地址与工作目录不一致, 是否继续推送(Y/n):")
98
+ unless answer
99
+ raise Informative, "私有Pod索引地址与工作目录不一致!!!请使用pindo env 切换环境后再推送"
100
+ end
101
+ end
102
+
103
+
104
+
105
+ puts "即将执行下列命令:"
106
+ command_array = []
107
+ podspecs.each do |podspec|
108
+ command = "pod repo push #{private_source.name} --sources=#{private_source.url},#{public_source.url} --allow-warnings --use-libraries --use-modular-headers --verbose"
109
+ puts
110
+ puts command
111
+ puts
112
+ command_array << command
113
+ end
114
+
115
+ answer = agree("是否运行以上命令(Y/n):")
116
+ unless answer
117
+ raise Informative, "停止推送!!!"
118
+ end
119
+
120
+ puts "检查对应的tag 是否添加"
121
+ podspecs.each do |podspec|
122
+ puts
123
+ puts podspec
124
+ podspec_obj = Pod::Specification.from_file(podspec)
125
+ pod_name = podspec_obj.name
126
+ tag_name = podspec_obj.version
127
+ add_tag_with_check(local_repo_dir:working_dir, tag_name:tag_name)
128
+ end
129
+
130
+ command_array.each do |command|
131
+ puts "正在运行命令:"
132
+ puts
133
+ puts command
134
+ system command
135
+ end
136
+
137
+ end
138
+
139
+
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,75 @@
1
+ require 'highline/import'
2
+ require 'fileutils'
3
+ require 'json'
4
+
5
+ module Pindo
6
+ class Command
7
+ class Lib < Command
8
+ class Update < Lib
9
+
10
+ self.summary = '更新私有库索引地址'
11
+
12
+ self.description = <<-DESC
13
+ 更新私有库索引地址,终端下运行 pindo lib update
14
+ DESC
15
+
16
+ self.arguments = [
17
+
18
+ ]
19
+
20
+ def self.options
21
+ [
22
+ ].concat(super)
23
+ end
24
+
25
+ def initialize(argv)
26
+
27
+ super(argv)
28
+ @additional_args = argv.remainder!
29
+ end
30
+
31
+ def validate!
32
+ super
33
+ @project_dir=Dir.pwd if @project_dir.nil? || @project_dir.empty?
34
+ end
35
+
36
+ def run
37
+
38
+ working_dir = @project_dir
39
+
40
+ pod_array = pindo_single_config.pod_repo_dict
41
+ pod_index_url = nil
42
+ if !pod_array.nil?
43
+ pod_index_url = pod_array['podindex']
44
+ else
45
+ raise Informative, '私有Pod索引地址未知!!'
46
+ end
47
+ sources = Pod::Config.instance.sources_manager.all
48
+
49
+ private_source = sources.select { |s| s.git? && s.url.to_s.eql?(pod_index_url)}.first
50
+ if !private_source.nil?
51
+ puts "开始更新私有库索引地址..."
52
+ puts "地址:#{private_source.url}"
53
+ puts "目录:#{private_source.repo}"
54
+ git!(%W(-C #{private_source.repo} pull))
55
+ else
56
+ puts "下载私有库索引地址..."
57
+ puts "地址:#{pod_index_url}"
58
+ puts "目录:~/.cocoapods"
59
+ repos_path = File.expand_path("~/.cocoapods/repos")
60
+ getcode_to_dir(reponame:"goodpodsindex", remote_url: pod_index_url, path:repos_path)
61
+ end
62
+
63
+
64
+
65
+ if File.exist?("#{working_dir}/Podfile")
66
+ system "pod install"
67
+ end
68
+
69
+ end
70
+
71
+
72
+ end
73
+ end
74
+ end
75
+ end
data/lib/pindo/lib.rb ADDED
@@ -0,0 +1,18 @@
1
+ # require 'pindo/dev/create'
2
+
3
+
4
+ require 'pindo/lib/lint'
5
+ require 'pindo/lib/push'
6
+ require 'pindo/lib/forcepush'
7
+ require 'pindo/lib/update'
8
+
9
+ module Pindo
10
+ class Command
11
+
12
+ class Lib < Command
13
+ self.abstract_command = true
14
+ self.summary = '操作pod库的相关命令'
15
+ end
16
+
17
+ end
18
+ end