Class: Dev::Dep

Inherits:
Hash
  • Object
show all
Defined in:
lib/dev/Dep.rb

Overview

uri: dir: rake: cache:

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Hash

get_hash_value, #get_value, print_hash, set_hash_value, #set_value, #strip_auto_entries

Constructor Details

#initialize(hash) ⇒ Dep

constructor that accepts a hash



25
26
27
# File 'lib/dev/Dep.rb', line 25

def initialize(hash)
  hash.each { |name,value| self[name]=value }
end

Class Method Details

.clean_dep(rel_dir, age_in_days) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
# File 'lib/dev/Dep.rb', line 61

def self.clean_dep(rel_dir,age_in_days)
  Dir.glob("#{Dev::Environment.dev_root}/dep/#{rel_dir}/*").each { |f|
    if(File.directory?(f))
      elapsed = Time.now - File.mtime(f)
      if(elapsed > 60*60*24*age_in_days)
        puts "  removing directory #{f}"
        FileUtils.rm_rf(f)
      end
    end
  }
end

.clobber_dep(rel_dir) ⇒ Object



73
74
75
76
77
78
79
80
# File 'lib/dev/Dep.rb', line 73

def self.clobber_dep(rel_dir)
  Dir.glob("#{Dev::Environment.dev_root}/dep/#{rel_dir}/*").each { |f|
    if(File.directory?(f))
      puts "  removing directory #{f}"
      FileUtils.rm_rf(f)
    end
  }
end

Instance Method Details

#get_dep_dirObject



39
40
41
# File 'lib/dev/Dep.rb', line 39

def get_dep_dir
   return Dev::Environment.dev_root +  "/dep/" + get_rel_dir
end

#get_export_command(local_dir) ⇒ Object



48
49
50
51
52
53
54
55
56
# File 'lib/dev/Dep.rb', line 48

def get_export_command(local_dir)
  unless self[:uri].nil?
    uri=Dev::Environment.expand_string_variables(self.get_value("uri"))
    if(uri.include?('github.com'))
      return "<%Dev::Scm::export('#{uri}','#{local_dir}','git') unless File.exists?('#{local_dir}')%>" 
    end
    return "<%Dev::Scm::export(\"#{uri}\",\"#{local_dir}\",'svn') unless File.exists?(\"#{local_dir}\")%>"
  end # unless    

end

#get_rake_commandObject



58
59
# File 'lib/dev/Dep.rb', line 58

def get_rake_command
end

#get_rel_dirObject



29
30
31
32
33
34
35
36
37
# File 'lib/dev/Dep.rb', line 29

def get_rel_dir
  return Dev::Environment.expand_string_variables(self[:dir]) unless self[:dir].nil?
  uri=Dev::Environment.expand_string_variables(self[:uri])
  uri_words=uri.split('/')
  while(uri_words.length > 3) do
    uri_words.shift 
  end
  return uri_words.join('/')
end

#get_wrk_dirObject



43
44
45
46
# File 'lib/dev/Dep.rb', line 43

def get_wrk_dir
  return Dev::Environment.dev_root + "/wrk/" + get_rel_dir unless get_rel_dir.include?("@")
  return Dev::Environment.dev_root + "/wrk/" + get_rel_dir.split("@")[0]
end

#pull_commandsObject



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/dev/Dep.rb', line 99

def pull_commands
  array = Array.new
  if(File.exists?(get_wrk_dir))
    unless self[:rake].nil?
      array << "{cmd: 'rake pull', dir: '#{get_wrk_dir}'}"
      #array << "{cmd: 'rake pull', dir: '#{get_wrk_dir}', capture_output: false}"

      #array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_wrk_dir}'}"

      rakefile="#{get_wrk_dir}/rakefile.rb"
      array << "<%Dev::Svn::update_revision_variables('#{rakefile}')%>"
      array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_wrk_dir}'}"
      #array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_wrk_dir}', capture_output: false}"

    end
  end
  
  return array
end

#setup_commandsObject



82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/dev/Dep.rb', line 82

def setup_commands
  array = Array.new
  array << get_export_command(get_dep_dir)
  array << "<%puts '  #{get_dep_dir} exists.' if File.exist?('#{get_dep_dir}')%>"
  
  rake=true
  rake=false if !self.get_value("no_rake").nil? && File.exists?(self.get_value("no_rake"))
  if(rake)
    unless self[:rake].nil?
      array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_dep_dir}', cache:'true', capture_output: true, capture_error: true, auto: true}" unless self.get_value("cache").nil?
      array << "{cmd: 'rake #{self.get_value("rake").to_s}', dir: '#{get_dep_dir}', capture_output: true, capture_error: true , auto: true}" if self.get_value("cache").nil?
    end
  end
  
  return array
end