class BigKeeper::BigkeeperParser
Bigkeeper file parser
Public Class Methods
config()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 283 def self.config @@config end
global_configs(key)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 203 def self.global_configs(key) if @@config[:configs] == nil return end @@config[:configs][key] end
home_git()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 163 def self.home_git() @@config[:home][:git] end
home_modules_workspace()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 167 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()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 159 def self.home_name @@config[:name] end
home_pulls()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 180 def self.home_pulls() @@config[:home][:pulls] end
module_full_path(home_path, user_name, module_name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 210 def self.module_full_path(home_path, user_name, module_name) Logger.error("Can't find a Pod named #{module_name} in current directory.") unless @@config[:modules].invert.has_value?(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.expand_path(@@config[:users][user_name][:mods][module_name][:path]) else if @@config[:modules][module_name][:alias] File.expand_path("#{home_path}/#{home_modules_workspace}/#{@@config[:modules][module_name][:alias]}") else File.expand_path("#{home_path}/#{home_modules_workspace}/#{module_name}") end end end
module_git(module_name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 244 def self.module_git(module_name) @@config[:modules][module_name][:git] end
module_maven(module_name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 252 def self.module_maven(module_name) @@config[:modules][module_name][:maven_group] + ':' + @@config[:modules][module_name][:maven_artifact] end
module_maven_artifact(module_name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 256 def self.module_maven_artifact(module_name) @@config[:modules][module_name][:maven_artifact] end
module_names()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 277 def self.module_names if @@config[:modules] != nil @@config[:modules].keys end end
module_path(user_name, module_name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 228 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.expand_path(@@config[:users][user_name][:mods][module_name][:path]) else 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)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 264 def self.module_pulls(module_name) @@config[:modules][module_name][:pulls] end
module_source(module_name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 248 def self.module_source(module_name) @@config[:modules][module_name][:mod_path] end
module_version_alias(module_name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 260 def self.module_version_alias(module_name) @@config[:modules][module_name][:version_alias] end
parse(bigkeeper)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 58 def self.parse(bigkeeper) @@config = {} 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!(/mod\s/, 'BigKeeper::mod ') content.gsub!(/modules\s/, 'BigKeeper::modules ') content.gsub!(/configs\s/, 'BigKeeper::configs ') content.gsub!(/param\s/, 'BigKeeper::param ') content.gsub!(/post_install\s/, 'BigKeeper::post_install ') content.gsub!(/cmd\s/, 'BigKeeper::cmd ') eval content end end
parse_command(key, value)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 151 def self.parse_command(key, value) @@config[:post_install] = @@config[:post_install].merge(key => value) end
parse_configs()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 139 def self.parse_configs @@config[:configs] = {} end
parse_home(name, params)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 99 def self.parse_home(name, params) @@config[:home] = params @@config[:name] = name end
parse_mod(name, params)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 104 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()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 133 def self.parse_modules modules = @@config[:modules] modules = {} if modules.nil? @@config[:modules] = modules end
parse_modules_mod(name, params)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 124 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)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 143 def self.parse_param(key, value) @@config[:configs] = @@config[:configs].merge(key => value) end
parse_post_install()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 147 def self.parse_post_install @@config[:post_install] = {} end
parse_source(name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 77 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)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 91 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)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 114 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)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 87 def self.parse_version(name) @@config[:version] = name end
post_install_command()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 199 def self.post_install_command @@config[:post_install] end
source_spec_name(module_name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 189 def self.source_spec_name(module_name) spec = @@config[:modules][module_name][:spec] end
source_spec_path(module_name)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 184 def self.source_spec_path(module_name) spec = @@config[:modules][module_name][:spec] @@config[:source][spec] end
sources()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 193 def self.sources if @@config[:source] != nil @@config[:source].keys end end
verify_modules(modules)
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 268 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()
click to toggle source
# File lib/big_keeper/util/bigkeeper_parser.rb, line 155 def self.version @@config[:version] end