Class: PodsOrz::PodsDetector
- Inherits:
-
Object
- Object
- PodsOrz::PodsDetector
- Defined in:
- lib/podsorz/core/PodsOrz/pods_detector.rb
Instance Attribute Summary collapse
-
#kx_pods_path ⇒ Object
Returns the value of attribute kx_pods_path.
-
#orzconfig_parse ⇒ Object
Returns the value of attribute orzconfig_parse.
Instance Method Summary collapse
- #check_directory(main_path) ⇒ Object
- #clone_orz_pod(pod) ⇒ Object
- #detect_kx_pods(main_path) ⇒ Object
- #detect_pod(pod) ⇒ Object
- #ensure_kxpods_exist ⇒ Object
-
#initialize(main_path) ⇒ PodsDetector
constructor
A new instance of PodsDetector.
- #start_detector ⇒ Object
Constructor Details
#initialize(main_path) ⇒ PodsDetector
Returns a new instance of PodsDetector.
8 9 10 11 12 13 |
# File 'lib/podsorz/core/PodsOrz/pods_detector.rb', line 8 def initialize(main_path) @orzconfig_parse = PodsOrz::PodOrzconfigParse.new(main_path) @kx_pods_path = File.("../#{@orzconfig_parse.file_devpods_name}", main_path) detect_kx_pods(main_path) end |
Instance Attribute Details
#kx_pods_path ⇒ Object
Returns the value of attribute kx_pods_path.
6 7 8 |
# File 'lib/podsorz/core/PodsOrz/pods_detector.rb', line 6 def kx_pods_path @kx_pods_path end |
#orzconfig_parse ⇒ Object
Returns the value of attribute orzconfig_parse.
6 7 8 |
# File 'lib/podsorz/core/PodsOrz/pods_detector.rb', line 6 def orzconfig_parse @orzconfig_parse end |
Instance Method Details
#check_directory(main_path) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/podsorz/core/PodsOrz/pods_detector.rb', line 15 def check_directory(main_path) is_directory = File.directory?(main_path) Logger.error("Detect failure, it is not a directory path: #{main_path}") unless is_directory is_directory end |
#clone_orz_pod(pod) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/podsorz/core/PodsOrz/pods_detector.rb', line 74 def clone_orz_pod(pod) is_clone_success = true pod_directory = File.(pod, @kx_pods_path) Logger.default("Start clone 【#{pod}】 Project...") git_clone_content = "" # 替换为config参数 IO.popen("git clone #{@orzconfig_parse.remote_url_sourcecode}/#{pod}.git #{pod_directory}", :err=>[:child, :out]) {|io| git_clone_content = io.read puts(git_clone_content) is_clone_success = false if git_clone_content.to_s.include? "fatal" } if is_clone_success Logger.highlight("Clone 【#{pod}】 success!") else Logger.error("Clone 【#{pod}】 failure!") end is_clone_success end |
#detect_kx_pods(main_path) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/podsorz/core/PodsOrz/pods_detector.rb', line 22 def detect_kx_pods(main_path) result = check_directory(main_path) if result pods_result = File.directory?(@kx_pods_path) unless pods_result Logger.warning("#{@orzconfig_parse.file_devpods_name} directory not exist, generate default directory") FileUtils.mkdir_p(@kx_pods_path, :mode => 0777) end end end |
#detect_pod(pod) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/podsorz/core/PodsOrz/pods_detector.rb', line 58 def detect_pod(pod) pod_path = File.(pod, @kx_pods_path) result = File.directory?(pod_path) if result file_entries = Dir.entries(pod_path) result = false if file_entries.empty? result = false unless file_entries.include?(".git") Logger.error("【#{pod}】 at #{pod_path} exist, but .git not work success, please manual check.") unless result else result = clone_orz_pod(pod) end result end |
#ensure_kxpods_exist ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/podsorz/core/PodsOrz/pods_detector.rb', line 43 def ensure_kxpods_exist() pods_list = @orzconfig_parse.fix_pod_list is_clone_success = true pods_list.each {|pod| command = Thread.new do each_result = detect_pod(pod) is_clone_success = false unless each_result end command.join } exit() unless is_clone_success end |
#start_detector ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/podsorz/core/PodsOrz/pods_detector.rb', line 35 def start_detector() if @orzconfig_parse.fix_pod_list.empty? Logger.warning("Fix pod list is empty, there is nothings to do, please setup 'FIX_POD_LIST' in \"PodsOrzConfig.rb\"") else ensure_kxpods_exist() end end |