podsorz 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -1
  3. data/lib/podsorz.rb +12 -2
  4. data/lib/podsorz/command/binary.rb +150 -0
  5. data/lib/podsorz/command/commit.rb +2 -2
  6. data/lib/podsorz/command/install.rb +9 -3
  7. data/lib/podsorz/command/publish.rb +7 -3
  8. data/lib/podsorz/command/setup.rb +1 -1
  9. data/lib/podsorz/command/switch.rb +2 -2
  10. data/lib/podsorz/command/sync.rb +2 -2
  11. data/lib/podsorz/core/Binary/binary_builder.rb +312 -0
  12. data/lib/podsorz/core/Binary/binary_manager.rb +173 -0
  13. data/lib/podsorz/core/Binary/binary_repo.rb +178 -0
  14. data/lib/podsorz/core/Binary/binary_server.rb +21 -0
  15. data/lib/podsorz/core/Config/orz_config_templet.rb +33 -0
  16. data/lib/podsorz/core/{orz_env_detector.rb → Config/orz_env_detector.rb} +0 -0
  17. data/lib/podsorz/core/{pod_orzconfig_parse.rb → Config/pod_orzconfig_parse.rb} +15 -1
  18. data/lib/podsorz/core/{podfile_io.rb → PodFile/podfile_io.rb} +143 -4
  19. data/lib/podsorz/core/{podfile_model.rb → PodFile/podfile_model.rb} +26 -1
  20. data/lib/podsorz/core/{pods_detector.rb → PodsOrz/pods_detector.rb} +1 -1
  21. data/lib/podsorz/core/{pods_git_manager.rb → PodsOrz/pods_git_manager.rb} +22 -12
  22. data/lib/podsorz/core/{pods_git_operator.rb → PodsOrz/pods_git_operator.rb} +133 -37
  23. data/lib/podsorz/core/{pods_repo.rb → PodsOrz/pods_repo.rb} +44 -11
  24. data/lib/podsorz/core/{pods_version.rb → PodsOrz/pods_version.rb} +0 -0
  25. data/lib/podsorz/core/Specs/podspec_model.rb +45 -0
  26. data/lib/podsorz/util/git_operator.rb +47 -0
  27. data/lib/podsorz/version.rb +1 -1
  28. data/podsorz.gemspec +1 -0
  29. metadata +32 -12
  30. data/lib/podsorz/core/orz_config_templet.rb +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c960d70973147909a6a1898da3101b1655a2a08426a90ae9c39cfbb7a838ffcd
4
- data.tar.gz: fa464fe262693347b34eef283f83200571376124b60039c69ded9f688daf6575
3
+ metadata.gz: 71846991c3031f5c87b7920fcfa1dd124c6045942f7806c1ce45c1c73439295d
4
+ data.tar.gz: c77371fcd0d59b1de427dc5a32acc7f0207e97f99d861668e970bf985431a963
5
5
  SHA512:
6
- metadata.gz: 979c4ee2d0dbf7d788aa5a9cab14633850c0c7d36ce7297356f2919aa5fc620ce578b995d25cce96d28453b828f381271fadc0f6b1d993624a088d7520316ef9
7
- data.tar.gz: 649d4d2148002e5cdcb7140ee9553946f50f9747adf7d8e5da9ac79845ed8ea973785c679b2afe5a9b93b6e97b78fecc7320c26d4d5b208d6a8ff28d17a597a8
6
+ metadata.gz: e6b377d4f212e5aff0c92cfd9e840728c442ebd1ad674d636fe1f7f066844c747add1707b8fe66e4f1cf02b04860f3fc1861c8ad1cf127b1593fb133f9eb2b2b
7
+ data.tar.gz: ecd46d55200dfbf9318ec92b45b95ae5aca15270f6a90c9672a9a8aa40bce1ff8693b19369169d0e81a5d5ba8627d2fc7e2d38ad3091d599f4b31771750278a6
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- podsorz (0.0.2)
4
+ podsorz (0.0.3)
5
5
  cocoapods
6
+ cocoapods-packager
6
7
  colorize
7
8
  gli (~> 2.16)
8
9
 
@@ -52,6 +53,8 @@ GEM
52
53
  typhoeus (~> 1.0)
53
54
  cocoapods-deintegrate (1.0.4)
54
55
  cocoapods-downloader (1.4.0)
56
+ cocoapods-packager (1.5.0)
57
+ cocoapods (>= 1.1.1, < 2.0)
55
58
  cocoapods-plugins (1.0.0)
56
59
  nap
57
60
  cocoapods-search (1.0.0)
data/lib/podsorz.rb CHANGED
@@ -5,15 +5,24 @@ require "podsorz/command/setup"
5
5
  require "podsorz/command/switch"
6
6
  require "podsorz/command/commit"
7
7
  require "podsorz/command/publish"
8
- require "podsorz/command/install"
9
8
  require "podsorz/command/sync"
9
+ require "podsorz/command/binary"
10
+ require "podsorz/command/install"
10
11
 
11
12
  require 'gli'
12
13
 
13
14
  include GLI::App
14
15
 
15
16
  module PodsOrz
16
- program_desc %{iOS application modulize into pods, improvement for develop modules. CMD: git-flow, auto publish code, auto push repo, auto rewrite podfile}
17
+ program_desc %{iOS application modulize into pods, improvement for develop modules.
18
+ CMD:
19
+ 1.git-flow
20
+ 2.auto publish code
21
+ 3.auto push repo
22
+ 4.auto rewrite podfile
23
+ 5.sync other branch commit
24
+ 6.binary static libary
25
+ }
17
26
 
18
27
  current_exec_path = Dir.pwd()
19
28
 
@@ -30,6 +39,7 @@ module PodsOrz
30
39
  publish_command()
31
40
  install_command()
32
41
  sync_command()
42
+ binary_command()
33
43
 
34
44
  desc "Show podsorz version"
35
45
  command :version do |version|
@@ -0,0 +1,150 @@
1
+ require "podsorz/core/PodsOrz/pods_repo"
2
+ require "podsorz/core/Binary/binary_manager"
3
+ require "podsorz/core/PodsOrz/pods_git_manager"
4
+
5
+
6
+ module PodsOrz
7
+ def self.binary_command
8
+ desc "Binary command, static library related command"
9
+ command :binary do |binary|
10
+ binary.desc "package pods(which in PodsOrzConfig) into static libraries"
11
+ binary.command :package do |package|
12
+ package.action do |global_options,options,args|
13
+ dir_path = global_options[:path]
14
+ prepare_work(dir_path)
15
+
16
+ git_manager = PodsOrz::PodsGitManager.new(dir_path)
17
+ result_hash = filter_binary_pods_list(git_manager, :package)
18
+ package_list = result_hash[:package]
19
+
20
+ binary_manager = PodsOrz::BinaryManager.new(dir_path)
21
+ binary_manager.package(package_list)
22
+ end
23
+
24
+ end
25
+
26
+
27
+
28
+ binary.desc "show whether remote exist static libraries on current version"
29
+ binary.command :show do |show|
30
+ show.action do |global_options,options,args|
31
+ dir_path = global_options[:path]
32
+ prepare_work(dir_path)
33
+
34
+ git_manager = PodsOrz::PodsGitManager.new(dir_path)
35
+ filter_binary_pods_list(git_manager, :show)
36
+ end
37
+
38
+ end
39
+
40
+
41
+ binary.desc "publish binary repo"
42
+ binary.command :publish do |publish|
43
+ publish.action do |global_options,options,args|
44
+ dir_path = global_options[:path]
45
+ prepare_work(dir_path)
46
+
47
+ git_manager = PodsOrz::PodsGitManager.new(dir_path)
48
+ result_hash = filter_binary_pods_list(git_manager, :package)
49
+ package_list = result_hash[:package]
50
+
51
+ binary_manager = PodsOrz::BinaryManager.new(dir_path)
52
+ binary_manager.publish(package_list)
53
+ end
54
+ end
55
+
56
+
57
+ binary.default_command :show
58
+ end
59
+ end
60
+
61
+ def self.prepare_work(dir_path)
62
+ pods_repo = PodsOrz::PodsRepo.new()
63
+ pods_repo.check_repo_exist()
64
+ end
65
+
66
+
67
+ def self.filter_binary_pods_list(git_manager, cmd_type)
68
+ result_hash = {
69
+ :binary => [],
70
+ :package => []
71
+ }
72
+
73
+ #1.获取静态库加载配置表
74
+ is_all_binary = git_manager.orzconfig_parse.is_all_binary
75
+
76
+ origin_binary_list = []
77
+
78
+ unless cmd_type == :show
79
+ if is_all_binary
80
+ totoal_model_list = git_manager.podfile_io.filter_binary_pod_models()
81
+ totoal_model_list.each do |model|
82
+ origin_binary_list << model.name.to_s
83
+ end
84
+ else
85
+ origin_binary_list = git_manager.orzconfig_parse.static_lib_list if cmd_type == :binary
86
+ origin_binary_list = git_manager.orzconfig_parse.will_package_list if cmd_type == :package
87
+ end
88
+
89
+ else
90
+ totoal_model_list = git_manager.podfile_io.total_pod_models
91
+ totoal_model_list.each do |model|
92
+ origin_binary_list << model.name.to_s
93
+ end
94
+ end
95
+
96
+
97
+ return result_hash if origin_binary_list.empty?
98
+
99
+
100
+ empty_binary_list = []
101
+ exist_binary_list = []
102
+
103
+ has_binary_list = []
104
+ can_package_list = []
105
+
106
+ #2.查询Podfile_orz是否为已发版本状态
107
+ binary_repo = PodsOrz::BinaryRepo.new()
108
+ binary_repo.check_binary_repo_exist()
109
+
110
+ origin_binary_list.each do |pod|
111
+ pod_version = git_manager.podfile_io.get_podfile_pod_version(pod)
112
+
113
+ if pod_version.empty?
114
+ branch = git_manager.podfile_io.get_podfile_pod_branch(pod)
115
+ unless branch.empty?
116
+ empty_binary_list << "#{pod} no source-code version, :branch => #{branch}"
117
+ else
118
+ empty_binary_list << "#{pod} no source-code version, :branch => 'master'"
119
+ end
120
+
121
+ next
122
+ end
123
+
124
+ has_remote = binary_repo.check_binary_pod_exist(pod, pod_version)
125
+ unless has_remote
126
+ empty_binary_list << "#{pod} no binary version:(#{pod_version})"
127
+ else
128
+ exist_binary_list << "#{pod}:(#{pod_version})"
129
+ has_binary_list << pod
130
+ end
131
+
132
+ if !pod_version.empty? && !has_remote
133
+ can_package_list << pod
134
+ end
135
+ end
136
+
137
+ Logger.highlight("[cmd:#{cmd_type}] Exist static library pods : \n #{exist_binary_list.inspect}")
138
+ Logger.separator
139
+ Logger.warning("[cmd:#{cmd_type}] Not exist static library pods: \n #{empty_binary_list.inspect}")
140
+
141
+
142
+ result_hash[:binary] = has_binary_list
143
+ result_hash[:package] = can_package_list
144
+
145
+
146
+ result_hash
147
+
148
+ end
149
+
150
+ end
@@ -1,5 +1,5 @@
1
- require "podsorz/core/pods_detector"
2
- require "podsorz/core/pods_git_manager"
1
+ require "podsorz/core/PodsOrz/pods_detector"
2
+ require "podsorz/core/PodsOrz/pods_git_manager"
3
3
 
4
4
  module PodsOrz
5
5
  def self.commit_command
@@ -1,5 +1,6 @@
1
- require "podsorz/core/pods_detector"
2
- require "podsorz/core/pods_git_manager"
1
+ require "podsorz/core/PodsOrz/pods_detector"
2
+ require "podsorz/core/PodsOrz/pods_git_manager"
3
+ require "podsorz/command/binary"
3
4
 
4
5
  module PodsOrz
5
6
  def self.install_command
@@ -16,8 +17,13 @@ module PodsOrz
16
17
  is_same = git_manager.ensure_pods_branch()
17
18
  exit() unless is_same
18
19
 
19
- git_manager.install_pod(dir_path)
20
+ #获取binary 列表
21
+ list_hash = PodsOrz.filter_binary_pods_list(git_manager, :binary)
22
+
23
+ git_manager.install_pod(dir_path, list_hash[:binary])
20
24
  end
21
25
  end
22
26
  end
27
+
28
+
23
29
  end
@@ -1,5 +1,5 @@
1
- require "podsorz/core/pods_detector"
2
- require "podsorz/core/pods_git_manager"
1
+ require "podsorz/core/PodsOrz/pods_detector"
2
+ require "podsorz/core/PodsOrz/pods_git_manager"
3
3
  require "podsorz/util/logger"
4
4
 
5
5
  module PodsOrz
@@ -17,6 +17,9 @@ module PodsOrz
17
17
  8.更改远端 Podfile_orz.rb, 同步对应 pod 到最新的 version\n
18
18
  }
19
19
  command :publish do |publish|
20
+ publish.switch :swift, :negatable => false, :desc => "Publish Swift Pod"
21
+ publish.example "podsorz publish --swift", desc:"Single Publish Action,Publish Only One ’Swift‘ Pod"
22
+
20
23
  publish.action do |global_options, options, args|
21
24
  dir_path = global_options[:path]
22
25
  detector = PodsOrz::PodsDetector.new(dir_path)
@@ -33,7 +36,8 @@ module PodsOrz
33
36
  exit()
34
37
  end
35
38
 
36
- git_manager.start_repo_publish
39
+ is_swift = options[:swift]
40
+ git_manager.start_repo_publish(is_swift)
37
41
  end
38
42
  end
39
43
  end
@@ -1,4 +1,4 @@
1
- require "podsorz/core/orz_env_detector"
1
+ require "podsorz/core/Config/orz_env_detector"
2
2
 
3
3
 
4
4
  module PodsOrz
@@ -1,5 +1,5 @@
1
- require "podsorz/core/pods_detector"
2
- require "podsorz/core/pods_git_manager"
1
+ require "podsorz/core/PodsOrz/pods_detector"
2
+ require "podsorz/core/PodsOrz/pods_git_manager"
3
3
 
4
4
  module PodsOrz
5
5
  def self.switch_command
@@ -1,5 +1,5 @@
1
- require "podsorz/core/pods_detector"
2
- require "podsorz/core/pods_git_manager"
1
+ require "podsorz/core/PodsOrz/pods_detector"
2
+ require "podsorz/core/PodsOrz/pods_git_manager"
3
3
 
4
4
  module PodsOrz
5
5
  def self.sync_command
@@ -0,0 +1,312 @@
1
+ require "podsorz/util/logger"
2
+ require "podsorz/core/PodFile/podfile_io"
3
+ require "podsorz/core/Specs/podspec_model"
4
+ require "podsorz/util/logger"
5
+ require "open3"
6
+
7
+ module PodsOrz
8
+ class BinaryBuilder
9
+ attr_accessor :main_path, :kx_binary_path, :podfile_io, :pod_repo, :http_host
10
+
11
+ def initialize(main_path, podfile_io)
12
+ @main_path = main_path
13
+ @kx_binary_path = File.expand_path("../kx_binary", main_path)
14
+
15
+ @podfile_io = podfile_io
16
+ @pod_repo = PodsOrz::PodsRepo.new()
17
+
18
+ @http_host = "http://192.168.6.23:8080"
19
+ end
20
+
21
+ def start_package_pod(pod)
22
+ is_package_success = true
23
+
24
+ #1.创建kx_binary
25
+ detect_kx_binary()
26
+
27
+ #2.创建Pod文件夹
28
+ detect_pod_directory(pod)
29
+
30
+ #3.创建version文件夹
31
+ pod_version = @podfile_io.get_podfile_pod_version(pod)
32
+ detect_version_directory(pod, pod_version)
33
+
34
+ #4.copy kuxiu_specs中对应的podspec
35
+ copy_podspec(pod)
36
+
37
+ #5.build static library
38
+ is_build_success = build_static_library(pod)
39
+ unless is_build_success
40
+ Logger.error("【#{pod}】build version:#{pod_version} static library failure!")
41
+ is_package_success = false
42
+ return is_package_success
43
+ end
44
+
45
+ #6.zip framework
46
+ is_zip_success = zip_framework(pod)
47
+ unless is_zip_success
48
+ Logger.error("【#{pod}】zip framework failure!")
49
+ is_package_success = false
50
+ return is_package_success
51
+ end
52
+
53
+ #7.mv framework
54
+ is_mv_success = mv_embedded_framework(pod)
55
+ unless is_mv_success
56
+ Logger.error("【#{pod} mv #{pod}.framework.zip failure!")
57
+ is_package_success = false
58
+ return is_package_success
59
+ end
60
+
61
+ #8.override .podspec
62
+ is_override_success = override_podspec(pod)
63
+ unless is_override_success
64
+ Logger.error("【#{pod} mv #{pod}.podspec failure!")
65
+ is_package_success = false
66
+ return is_package_success
67
+ end
68
+
69
+ #9.delete build files
70
+ delete_build_files(pod)
71
+
72
+
73
+ is_package_success
74
+ end
75
+
76
+ #detect
77
+ def detect_kx_binary()
78
+
79
+ result = check_directory()
80
+
81
+ if result
82
+ binary_result = File.directory?(@kx_binary_path)
83
+ unless binary_result
84
+ Logger.warning("kx_binary directory not exist, generate default 'kx_binary' directory")
85
+ Dir.mkdir(@kx_pods_path)
86
+ end
87
+ end
88
+ end
89
+
90
+ def check_directory()
91
+ is_directory = File.directory?(@main_path)
92
+ Logger.error("Detect failure, it is not a directory path: #{@main_path}") unless is_directory
93
+
94
+ is_directory
95
+ end
96
+
97
+ def detect_pod_directory(pod)
98
+ pod_path = File.expand_path("#{pod}", @kx_binary_path)
99
+ pod_result = File.directory?(pod_path)
100
+ unless pod_result
101
+ Logger.warning("#{pod_path} directory not exist, generate default '#{pod_path}' directory")
102
+ Dir.mkdir(pod_path)
103
+ end
104
+ end
105
+
106
+ def detect_version_directory(pod, pod_version)
107
+ pod_version_path = File.expand_path("#{pod}/#{pod_version}", @kx_binary_path)
108
+ pod_version_result = File.directory?(pod_version_path)
109
+ unless pod_version_result
110
+ Logger.warning("#{pod_version_path} directory not exist, generate default '#{pod_version_path}' directory")
111
+ Dir.mkdir(pod_version_path)
112
+ end
113
+
114
+ pod_version_path
115
+ end
116
+
117
+ #copy
118
+ def copy_podspec(pod)
119
+ command = Thread.new do
120
+ pod_version = @podfile_io.get_podfile_pod_version(pod)
121
+ source_podspec_dir = @pod_repo.directory_pod_version(pod, pod_version)
122
+ source_file_path = File.expand_path("#{pod}.podspec", source_podspec_dir)
123
+
124
+ dest_dir = detect_version_directory(pod, pod_version)
125
+ dest_file_path = File.expand_path("#{pod}.podspec", dest_dir)
126
+
127
+ `cp -f #{source_file_path} #{dest_file_path}`
128
+
129
+ Logger.highlight("Copy file Success.\n Source file path:#{source_file_path} \n dest_file_path:#{dest_file_path}")
130
+ end
131
+ command.join
132
+ end
133
+
134
+ def build_static_library(pod)
135
+ is_build_success = true
136
+ command = Thread.new do
137
+ pod_version = @podfile_io.get_podfile_pod_version(pod)
138
+
139
+ dest_dir = detect_version_directory(pod, pod_version)
140
+ dest_file_path = File.expand_path("#{pod}.podspec", dest_dir)
141
+
142
+ cmd_list = []
143
+ cmd_list << "cd #{dest_dir}"
144
+ cmd_list << "pod package #{pod}.podspec --exclude-deps --no-mangle --force --embedded --spec-sources=git@gitlab.91banban.com:ios_pods/Specs.git"
145
+
146
+ Open3.popen3(cmd_list.join(";")) do |stdin , stdout , stderr, wait_thr|
147
+ while line = stdout.gets
148
+ puts line
149
+ end
150
+ end
151
+ end
152
+ command.join
153
+
154
+ is_build_success
155
+ end
156
+
157
+ def zip_framework(pod)
158
+ is_zip_success = true
159
+
160
+ command = Thread.new do
161
+ pod_version = @podfile_io.get_podfile_pod_version(pod)
162
+
163
+ origin_spec_dir = detect_version_directory(pod, pod_version)
164
+ package_dir = File.expand_path("#{pod}-#{pod_version}", origin_spec_dir)
165
+ embedded_framework_dir = File.expand_path("ios/#{pod}.embeddedframework", package_dir)
166
+
167
+ cmd_list = []
168
+ cmd_list << "cd #{embedded_framework_dir}"
169
+ cmd_list << "zip -q -r -y -o #{pod}.framework.zip #{pod}.framework"
170
+
171
+ IO.popen(cmd_list.join(";")) do |io|
172
+ io_lines = io.readlines
173
+ io_lines.each do |line|
174
+ puts line
175
+ is_zip_success = false if line.include? "zip error"
176
+ end
177
+ io.close
178
+ end
179
+ end
180
+
181
+ command.join
182
+
183
+ is_zip_success
184
+ end
185
+
186
+ def mv_embedded_framework(pod)
187
+ is_mv_success = true
188
+
189
+ command = Thread.new do
190
+ pod_version = @podfile_io.get_podfile_pod_version(pod)
191
+
192
+ origin_spec_dir = detect_version_directory(pod, pod_version)
193
+ package_dir = File.expand_path("#{pod}-#{pod_version}", origin_spec_dir)
194
+ embedded_framework_dir = File.expand_path("ios/#{pod}.embeddedframework", package_dir)
195
+
196
+ cmd_list = []
197
+ cmd_list << "cd #{embedded_framework_dir}"
198
+ cmd_list << "mv -f #{pod}.framework.zip #{origin_spec_dir}"
199
+
200
+ IO.popen(cmd_list.join(";")) do |io|
201
+ io_lines = io.readlines
202
+ io_lines.each do |line|
203
+ puts line
204
+ is_mv_success = false if line.include? "mv:"
205
+ end
206
+ io.close
207
+ end
208
+ end
209
+ command.join
210
+
211
+ is_mv_success
212
+ end
213
+
214
+ def override_podspec(pod)
215
+ is_override_success = true
216
+
217
+ command = Thread.new do
218
+ pod_version = @podfile_io.get_podfile_pod_version(pod)
219
+
220
+ origin_spec_dir = detect_version_directory(pod, pod_version)
221
+ origin_spec_file_path = File.expand_path("#{pod}.podspec", origin_spec_dir)
222
+ origin_podspec_model = PodsOrz::PodspecModel.new(origin_spec_file_path)
223
+
224
+
225
+ package_dir = File.expand_path("#{pod}-#{pod_version}", origin_spec_dir)
226
+ static_pod_spec_path = File.expand_path("#{pod}.podspec", package_dir)
227
+
228
+ static_podspec_totoal_sentences = []
229
+ File.open(static_pod_spec_path, "r") {|io|
230
+ static_podspec_totoal_sentences = io.readlines
231
+ }
232
+
233
+ File.open(static_pod_spec_path, "w+") {|io|
234
+ static_podspec_totoal_sentences.each do |sentence|
235
+ sentence_content = sentence.strip.chomp.to_s
236
+
237
+ is_sentence_content_empty = sentence_content.empty?
238
+ is_sentence_content_size_zero = sentence_content.size.zero?
239
+
240
+ unless is_sentence_content_empty || is_sentence_content_size_zero
241
+ unless sentence_content.start_with?("#")
242
+ mt = /.*s.source = /.match(sentence)
243
+ unless mt.nil?
244
+ sentence = mt[0] + "{:http => \'#{http_host}/#{pod}/#{pod_version}/#{pod}.framework.zip\'}"
245
+ end
246
+
247
+ mt = /.*s.ios.vendored_framework = /.match(sentence)
248
+ #behind vendored_framework add extra lines
249
+ unless mt.nil?
250
+ sentence = mt[0] + "\'#{pod}.framework\'" + "\n"
251
+
252
+ #add Resource
253
+ if origin_podspec_model.have_resources
254
+ sentence += " " + "s.resources = \'#{pod}.framework/Versions/A/Resources/*.{png,bundle,xib}\'" + "\n\n"
255
+ end
256
+
257
+ #add dependency
258
+ origin_podspec_model.dependency_list.each do |d|
259
+ sentence += " " + "s.dependency " + "#{d}" + "\n"
260
+ end
261
+
262
+ sentence += "\n"
263
+
264
+ end
265
+
266
+ end
267
+ end
268
+
269
+ io.write(sentence.chomp + "\n")
270
+ end
271
+ }
272
+
273
+ cmd_list = []
274
+ cmd_list << "cd #{package_dir}"
275
+ cmd_list << "mv -f #{pod}.podspec #{origin_spec_dir}"
276
+
277
+ IO.popen(cmd_list.join(";")) do |io|
278
+ io_lines = io.readlines
279
+ io_lines.each do |line|
280
+ puts line
281
+ is_override_success = false if line.include? "mv:"
282
+ end
283
+ io.close
284
+ end
285
+ end
286
+ command.join
287
+
288
+ is_override_success
289
+ end
290
+
291
+ def delete_build_files(pod)
292
+ command = Thread.new do
293
+ pod_version = @podfile_io.get_podfile_pod_version(pod)
294
+
295
+ origin_spec_dir = detect_version_directory(pod, pod_version)
296
+ package_dir_name = "#{pod}-#{pod_version}"
297
+
298
+ cmd_list = []
299
+ cmd_list << "cd #{origin_spec_dir}"
300
+ cmd_list << "rm -f -r #{package_dir_name}"
301
+
302
+ IO.popen(cmd_list.join(";")) do |io|
303
+ io.close
304
+ end
305
+ end
306
+
307
+ command.join
308
+ end
309
+
310
+ #class end
311
+ end
312
+ end