Module: CovaIO
- Included in:
- Cova
- Defined in:
- lib/covaio.rb
Instance Method Summary collapse
- #_io_app_exists(name) ⇒ Object
- #_io_clone_repo(repo, dir) ⇒ Object
- #_io_cpdir(src, targ) ⇒ Object
- #_io_cpfile(src, targ) ⇒ Object
- #_io_exec(cmd) ⇒ Object
- #_io_exec_xctool(cmd = "build", config = "Debug", sdk = "iphonesimulator") ⇒ Object
- #_io_findport(port) ⇒ Object
- #_io_init ⇒ Object
- #_io_isdir(dir, expected = true) ⇒ Object
- #_io_isfile(file, expected = true) ⇒ Object
- #_io_lndir(src, targ) ⇒ Object
- #_io_ls(dir) ⇒ Object
- #_io_mkdir(dir) ⇒ Object
- #_io_open_app_source(name) ⇒ Object
- #_io_pod_add_repo(name, repo) ⇒ Object
- #_io_rmdir(dir) ⇒ Object
Instance Method Details
#_io_app_exists(name) ⇒ Object
85 86 87 |
# File 'lib/covaio.rb', line 85 def _io_app_exists(name) return File.directory?(@dir_cova_apps_home + "/" + name) end |
#_io_clone_repo(repo, dir) ⇒ Object
110 111 112 113 114 115 116 117 118 119 |
# File 'lib/covaio.rb', line 110 def _io_clone_repo (repo, dir) pwd = Dir.pwd Dir.chdir(dir) _io_exec "git clone #{repo}" reponame = File.basename(repo, ".*") Dir.chdir(reponame) #_io_exec "git remote add upstream #{repo}" #Dir.chdir(pwd) return _io_isdir(dir + "/" + reponame) end |
#_io_cpdir(src, targ) ⇒ Object
143 144 145 146 147 148 149 |
# File 'lib/covaio.rb', line 143 def _io_cpdir(src, targ) if _io_isdir src and not _io_isdir targ, false `cp -r #{src} #{targ}` return _io_isdir targ end return false end |
#_io_cpfile(src, targ) ⇒ Object
151 152 153 154 155 156 157 |
# File 'lib/covaio.rb', line 151 def _io_cpfile(src, targ) if _io_isfile src and not _io_isfile targ, false `cp #{src} #{targ}` return _io_isfile targ end return false end |
#_io_exec(cmd) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/covaio.rb', line 17 def _io_exec(cmd) pipe = IO.popen(cmd) puts cmd while (line = pipe.gets) print line end end |
#_io_exec_xctool(cmd = "build", config = "Debug", sdk = "iphonesimulator") ⇒ Object
46 47 48 |
# File 'lib/covaio.rb', line 46 def _io_exec_xctool(cmd="build", config="Debug", sdk="iphonesimulator") _io_exec @dir_xctool_home + "/xctool.sh -workspace cova.xcworkspace -scheme Cova -configuration #{config} -sdk #{sdk} #{cmd}" end |
#_io_findport(port) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/covaio.rb', line 25 def _io_findport(port) ok = false times = 100 until ok begin if times <= 0 port = -1 ok = true else socket = TCPSocket.new "localhost", port socket.close port = port + 1 times = times - 1 end rescue Errno::ECONNREFUSED, Errno::ETIMEDOUT ok = true end end return port end |
#_io_init ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/covaio.rb', line 3 def _io_init @dir_user_home = File.("~") @dir_cova_home = File.("~/.cova") @dir_cova_ios_mods_home = File.("~/.cocoapods/cova") @dir_cocoapods_home = File.("~/.cocoapods") @dir_xctool_home = File.("~/.cova/xctool") @dir_xcode_build_home = File.("~/Library/Developer/Xcode/DerivedData") @dir_cova_apps_home = File.("~/.cova/apps") @repo_cova = "git://github.com/dancali/cova.git" @repo_cova_ios_mods = "git://github.com/dancali/cova-ios-mods.git" @repo_xctool = "git://github.com/facebook/xctool.git" end |
#_io_isdir(dir, expected = true) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/covaio.rb', line 55 def _io_isdir(dir,expected=true) _log_line (expected ? "Expecting #{dir} to exist" : "Ensuring #{dir} does not exist") if File.directory?(dir) expected ? _log_line_ok : _log_line_error return true end if expected _log_line_error else _log_line_ok end return false end |
#_io_isfile(file, expected = true) ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/covaio.rb', line 70 def _io_isfile(file,expected=true) _log_line (expected ? "Expecting #{file} to exist" : "Ensuring #{file} does not exist") if File.exist?(file) expected ? _log_line_ok : _log_line_error return true end if expected _log_line_error else _log_line_ok end return false end |
#_io_lndir(src, targ) ⇒ Object
134 135 136 137 138 139 140 141 |
# File 'lib/covaio.rb', line 134 def _io_lndir(src, targ) if _io_isdir src and not _io_isdir targ, false `ln -s #{src} #{targ}` return _io_isdir targ end return false end |
#_io_ls(dir) ⇒ Object
106 107 108 |
# File 'lib/covaio.rb', line 106 def _io_ls(dir) Dir.foreach(dir) {|entry| puts "#{entry}" unless (entry =='.' || entry == '..') } end |
#_io_mkdir(dir) ⇒ Object
159 160 161 162 163 164 165 166 167 168 |
# File 'lib/covaio.rb', line 159 def _io_mkdir(dir) if File.directory?(dir) return true end _log_line "Creating #{dir}" `mkdir #{dir}` File.directory?(dir) ? _log_line_ok : _log_line_error return File.directory?(dir) end |
#_io_open_app_source(name) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/covaio.rb', line 89 def _io_open_app_source(name) if not _io_app_exists name _log_info "Looks like the app #{name} does not exist. Please create if first." _log_line_error return false end app_project = "#{@dir_cova_apps_home}/#{name}/ios/cova.xcworkspace" if not File.exist?(app_project) _log_info "Looks like the app #{name} was never build. Please build it first." return false end _io_exec "open #{app_project}" return true end |
#_io_pod_add_repo(name, repo) ⇒ Object
50 51 52 53 |
# File 'lib/covaio.rb', line 50 def _io_pod_add_repo(name, repo) _io_exec("pod repo add #{name} #{repo}") return _io_isdir(@dir_cocoapods_home + "/" + name) end |
#_io_rmdir(dir) ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/covaio.rb', line 121 def _io_rmdir(dir) _log_line "Removing #{dir}" if File.directory?(dir) `rm -rf #{dir}` if File.directory?(dir) _log_line_error return false end end _log_line_ok return true end |