lib/big_keeper/util/podfile_module.rb
require 'big_keeper/util/bigkeeper_parser'
require 'big_keeper/util/podfile_detector'
require 'big_keeper/model/podfile_model'
require 'big_keeper/util/logger'
module BigKeeper
class PodfileModuleDetector
@module_list = []
def initialize(main_path)
@module_list = BigkeeperParser.module_names
@main_path = main_path
@update_modules = {}
# check_version_list
end
#检查需要更新业务库列表
def check_version_list
if @module_list.empty?
Logger.highlight('There is not any module should to be check.')
return
else
Logger.highlight('Checking..')
@module_list.each do |module_name|
get_pod_search_result(module_name)
end
#获得pod信息后
deal_module_info
end
end
def get_pod_search_result(pod_name)
#输入pod Search 结果
`pod search #{pod_name} --ios --simple >> #{@main_path}/bigKeeperPodInfo.tmp`
end
def deal_module_info
podfile_lines = File.readlines("#{@main_path}/bigKeeperPodInfo.tmp", :encoding => 'UTF-8')
Logger.highlight("Analyzing modules info...") unless podfile_lines.size.zero?
podfile_lines.collect do |sentence|
if sentence =~(/pod/)
sentence = sentence.sub('pod', '')
sentence = sentence.delete('\n\'')
match_result = sentence.split(',')
pod_name = match_result[0].strip
latest_version = match_result[1].strip
@update_modules[pod_name] = latest_version unless @update_modules.include?(pod_name)
end
end
p @update_modules
File.delete("#{@main_path}/bigKeeperPodInfo.tmp")
@update_modules
end
def get_module_latest_version(pod_model)
end
end
end