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,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