Class: BigKeeper::BigkeeperParser
- Inherits:
-
Object
- Object
- BigKeeper::BigkeeperParser
- Defined in:
- lib/big_keeper/util/bigkeeper_parser.rb
Overview
Bigkeeper file parser
Constant Summary collapse
- @@config =
{}
- @@current_user =
''
Class Method Summary collapse
- .config ⇒ Object
- .global_configs(key) ⇒ Object
- .home_git ⇒ Object
- .home_modules_workspace ⇒ Object
- .home_name ⇒ Object
- .home_pulls ⇒ Object
- .module_full_path(home_path, user_name, module_name) ⇒ Object
- .module_git(module_name) ⇒ Object
- .module_maven(module_name) ⇒ Object
- .module_maven_artifact(module_name) ⇒ Object
- .module_names ⇒ Object
- .module_path(user_name, module_name) ⇒ Object
- .module_pulls(module_name) ⇒ Object
- .module_source(module_name) ⇒ Object
- .module_version_alias(module_name) ⇒ Object
- .parse(bigkeeper) ⇒ Object
- .parse_configs ⇒ Object
- .parse_home(name, params) ⇒ Object
- .parse_mod(name, params) ⇒ Object
- .parse_modules ⇒ Object
- .parse_modules_mod(name, params) ⇒ Object
- .parse_param(key, value) ⇒ Object
- .parse_source(name) ⇒ Object
- .parse_user(name) ⇒ Object
- .parse_user_mod(name, params) ⇒ Object
- .parse_version(name) ⇒ Object
- .source_spec_name(module_name) ⇒ Object
- .source_spec_path(module_name) ⇒ Object
- .sources ⇒ Object
- .verify_modules(modules) ⇒ Object
- .version ⇒ Object
Class Method Details
.config ⇒ Object
255 256 257 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 255 def self.config @@config end |
.global_configs(key) ⇒ Object
178 179 180 181 182 183 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 178 def self.global_configs(key) if @@config[:configs] == nil return end @@config[:configs][key] end |
.home_git ⇒ Object
144 145 146 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 144 def self.home_git() @@config[:home][:git] end |
.home_modules_workspace ⇒ Object
148 149 150 151 152 153 154 155 156 157 158 159 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 148 def self.home_modules_workspace() if @@config[:home][:modules_workspace] home_modules_workspace = @@config[:home][:modules_workspace] if home_modules_workspace.rindex('/') != home_modules_workspace.length - 1 home_modules_workspace = home_modules_workspace + '/' end home_modules_workspace else '../' end end |
.home_name ⇒ Object
140 141 142 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 140 def self.home_name @@config[:name] end |
.home_pulls ⇒ Object
161 162 163 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 161 def self.home_pulls() @@config[:home][:pulls] end |
.module_full_path(home_path, user_name, module_name) ⇒ Object
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 185 def self.module_full_path(home_path, user_name, module_name) if @@config[:users] \ && @@config[:users][user_name] \ && @@config[:users][user_name][:mods] \ && @@config[:users][user_name][:mods][module_name] \ && @@config[:users][user_name][:mods][module_name][:path] File.(@@config[:users][user_name][:mods][module_name][:path]) else if @@config[:modules][module_name][:alias] File.("#{home_path}/#{home_modules_workspace}/#{@@config[:modules][module_name][:alias]}") else File.("#{home_path}/#{home_modules_workspace}/#{module_name}") end end end |
.module_git(module_name) ⇒ Object
218 219 220 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 218 def self.module_git(module_name) @@config[:modules][module_name][:git] end |
.module_maven(module_name) ⇒ Object
226 227 228 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 226 def self.module_maven(module_name) @@config[:modules][module_name][:maven_group] + ':' + @@config[:modules][module_name][:maven_artifact] end |
.module_maven_artifact(module_name) ⇒ Object
230 231 232 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 230 def self.module_maven_artifact(module_name) @@config[:modules][module_name][:maven_artifact] end |
.module_names ⇒ Object
251 252 253 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 251 def self.module_names @@config[:modules].keys end |
.module_path(user_name, module_name) ⇒ Object
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 201 def self.module_path(user_name, module_name) if @@config[:users] \ && @@config[:users][user_name] \ && @@config[:users][user_name][:mods] \ && @@config[:users][user_name][:mods][module_name] \ && @@config[:users][user_name][:mods][module_name][:path] File.(@@config[:users][user_name][:mods][module_name][:path]) else p @@config[:modules][module_name] if @@config[:modules][module_name][:alias] "#{home_modules_workspace}#{@@config[:modules][module_name][:alias]}" else "#{home_modules_workspace}#{module_name}" end end end |
.module_pulls(module_name) ⇒ Object
238 239 240 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 238 def self.module_pulls(module_name) @@config[:modules][module_name][:pulls] end |
.module_source(module_name) ⇒ Object
222 223 224 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 222 def self.module_source(module_name) @@config[:modules][module_name][:mod_path] end |
.module_version_alias(module_name) ⇒ Object
234 235 236 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 234 def self.module_version_alias(module_name) @@config[:modules][module_name][:version_alias] end |
.parse(bigkeeper) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 48 def self.parse(bigkeeper) if @@config.empty? Logger.error("Can't find a Bigkeeper file in current directory.") if !FileOperator.definitely_exists?(bigkeeper) content = File.read(bigkeeper, :encoding => 'UTF-8') content.gsub!(/version\s/, 'BigKeeper::version ') content.gsub!(/user\s/, 'BigKeeper::user ') content.gsub!(/home\s/, 'BigKeeper::home ') content.gsub!(/source\s/, 'BigKeeper::source ') content.gsub!(/mod\s/, 'BigKeeper::mod ') content.gsub!(/modules\s/, 'BigKeeper::modules ') content.gsub!(/configs\s/, 'BigKeeper::configs ') content.gsub!(/param\s/, 'BigKeeper::param ') eval content end end |
.parse_configs ⇒ Object
128 129 130 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 128 def self.parse_configs @@config[:configs] = {} end |
.parse_home(name, params) ⇒ Object
88 89 90 91 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 88 def self.parse_home(name, params) @@config[:home] = params @@config[:name] = name end |
.parse_mod(name, params) ⇒ Object
93 94 95 96 97 98 99 100 101 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 93 def self.parse_mod(name, params) if params[:path] parse_user_mod(name, params) elsif params[:git] parse_modules_mod(name, params) else Logger.error(%(There should be ':path =>' or ':git =>' ':alias =>' for mod #{name})) end end |
.parse_modules ⇒ Object
122 123 124 125 126 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 122 def self.parse_modules modules = @@config[:modules] modules = {} if modules.nil? @@config[:modules] = modules end |
.parse_modules_mod(name, params) ⇒ Object
113 114 115 116 117 118 119 120 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 113 def self.parse_modules_mod(name, params) if @@config[:source] != nil params[:spec] = "#{@@config[:tmp_spec]}" end modules = @@config[:modules] modules[name] = params @@config[:modules] = modules end |
.parse_param(key, value) ⇒ Object
132 133 134 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 132 def self.parse_param(key, value) @@config[:configs] = @@config[:configs].merge(key => value) end |
.parse_source(name) ⇒ Object
66 67 68 69 70 71 72 73 74 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 66 def self.parse_source(name) @@config.delete("tmp_spec") source_split = name.split(",") unless name.split(",").length != 2 if source_split != nil sources = Hash["#{source_split[1].lstrip}" => "#{source_split[0]}"] @@config[:source] = sources @@config[:tmp_spec] = source_split[1].lstrip end end |
.parse_user(name) ⇒ Object
80 81 82 83 84 85 86 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 80 def self.parse_user(name) @@current_user = name users = @@config[:users] users = {} if users.nil? users[name] = {} @@config[:users] = users end |
.parse_user_mod(name, params) ⇒ Object
103 104 105 106 107 108 109 110 111 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 103 def self.parse_user_mod(name, params) users = @@config[:users] user = users[@@current_user] mods = user[:mods] mods = {} if mods.nil? mods[name] = params user[:mods] = mods @@config[:users] = users end |
.parse_version(name) ⇒ Object
76 77 78 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 76 def self.parse_version(name) @@config[:version] = name end |
.source_spec_name(module_name) ⇒ Object
170 171 172 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 170 def self.source_spec_name(module_name) spec = @@config[:modules][module_name][:spec] end |
.source_spec_path(module_name) ⇒ Object
165 166 167 168 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 165 def self.source_spec_path(module_name) spec = @@config[:modules][module_name][:spec] @@config[:source][spec] end |
.sources ⇒ Object
174 175 176 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 174 def self.sources @@config[:source].keys end |
.verify_modules(modules) ⇒ Object
242 243 244 245 246 247 248 249 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 242 def self.verify_modules(modules) modules = [] unless modules modules = modules.uniq modules.each do |item| Logger.error("Can not find module #{item} in Bigkeeper file") unless @@config[:modules][item] end modules end |
.version ⇒ Object
136 137 138 |
# File 'lib/big_keeper/util/bigkeeper_parser.rb', line 136 def self.version @@config[:version] end |