Module: DamageControl::Directories

Includes:
FileUtils
Defined in:
lib/damagecontrol/directories.rb

Overview

This class knows about locations of various files and directories.

Class Method Summary collapse

Class Method Details

.basedirObject



113
114
115
116
117
118
119
120
121
# File 'lib/damagecontrol/directories.rb', line 113

def basedir
  if(ENV['DAMAGECONTROL_HOME'])
    ENV['DAMAGECONTROL_HOME']
  elsif(WINDOWS)
    RSCM::PathConverter.nativepath_to_filepath("#{ENV['HOMEDRIVE']}#{ENV['HOMEPATH']}/.damagecontrol").gsub(/\\/, "/")
  else
    "#{ENV['HOME']}/.damagecontrol"
  end
end

.build_command_file(project_name, changeset_identifier, time) ⇒ Object

File containing the build command for a build created at time time



78
79
80
# File 'lib/damagecontrol/directories.rb', line 78

def build_command_file(project_name, changeset_identifier, time)
  "#{build_dir(project_name, changeset_identifier, time)}/command"
end

.build_dir(project_name, changeset_identifier, time) ⇒ Object

Dir for a build created at time time



48
49
50
# File 'lib/damagecontrol/directories.rb', line 48

def build_dir(project_name, changeset_identifier, time)
  "#{builds_dir(project_name, changeset_identifier)}/#{time.to_s}"
end

.build_dirs(project_name, changeset_identifier) ⇒ Object



42
43
44
# File 'lib/damagecontrol/directories.rb', line 42

def build_dirs(project_name, changeset_identifier)
  Dir["#{builds_dir(project_name, changeset_identifier)}/*"]
end

.build_exit_code_file(project_name, changeset_identifier, time) ⇒ Object

File where the exit code for the build command execution is stored



66
67
68
# File 'lib/damagecontrol/directories.rb', line 66

def build_exit_code_file(project_name, changeset_identifier, time)
  "#{build_dir(project_name, changeset_identifier, time)}/exit_code"
end

.build_pid_file(project_name, changeset_identifier, time) ⇒ Object

File where the pid for the build command execution is stored



72
73
74
# File 'lib/damagecontrol/directories.rb', line 72

def build_pid_file(project_name, changeset_identifier, time)
  "#{build_dir(project_name, changeset_identifier, time)}/pid"
end

.builds_dir(project_name, changeset_identifier) ⇒ Object



37
38
39
# File 'lib/damagecontrol/directories.rb', line 37

def builds_dir(project_name, changeset_identifier)
  "#{changeset_dir(project_name, changeset_identifier)}/builds"
end

.changeset_dir(project_name, changeset_identifier) ⇒ Object



32
33
34
# File 'lib/damagecontrol/directories.rb', line 32

def changeset_dir(project_name, changeset_identifier)
  "#{changesets_dir(project_name)}/#{changeset_identifier.to_s}"
end

.changesets_dir(project_name) ⇒ Object



83
84
85
# File 'lib/damagecontrol/directories.rb', line 83

def changesets_dir(project_name)
  "#{project_dir(project_name)}/changesets"
end

.changesets_rss_file(project_name) ⇒ Object



88
89
90
# File 'lib/damagecontrol/directories.rb', line 88

def changesets_rss_file(project_name)
  "#{changesets_dir(project_name)}/changesets.rss"
end

.checkout_dir(project_name) ⇒ Object



20
21
22
# File 'lib/damagecontrol/directories.rb', line 20

def checkout_dir(project_name)
  "#{project_dir(project_name)}/checkout"
end

.checkout_list_file(project_name) ⇒ Object

File containing list of files currently being checked out.



27
28
29
# File 'lib/damagecontrol/directories.rb', line 27

def checkout_list_file(project_name)
  "#{project_dir(project_name)}/checkout_list.txt"
end

.diff_file(project_name, changeset, change) ⇒ Object



93
94
95
# File 'lib/damagecontrol/directories.rb', line 93

def diff_file(project_name, changeset, change)
  "#{changesets_dir(project_name)}/#{changeset.identifier.to_s}/diffs/#{change.path}.diff"
end

.project_config_file(project_name) ⇒ Object



103
104
105
# File 'lib/damagecontrol/directories.rb', line 103

def project_config_file(project_name)
  "#{project_dir(project_name)}/project.yaml"
end

.project_dir(project_name) ⇒ Object



108
109
110
# File 'lib/damagecontrol/directories.rb', line 108

def project_dir(project_name)
  "#{basedir}/#{project_name}"
end

.project_namesObject



12
13
14
15
16
17
# File 'lib/damagecontrol/directories.rb', line 12

def project_names
  result = Dir["#{basedir}/*/project.yaml"].collect do |f| 
    File.basename(File.dirname(f))
  end
  result.sort
end

.stderr(project_name, changeset_identifier, time) ⇒ Object

File where stderr for the build command is written



60
61
62
# File 'lib/damagecontrol/directories.rb', line 60

def stderr(project_name, changeset_identifier, time)
  "#{build_dir(project_name, changeset_identifier, time)}/stderr.log"
end

.stdout(project_name, changeset_identifier, time) ⇒ Object

File where stdout for the build command is written



54
55
56
# File 'lib/damagecontrol/directories.rb', line 54

def stdout(project_name, changeset_identifier, time)
  "#{build_dir(project_name, changeset_identifier, time)}/stdout.log"
end

.trigger_checkout_dir(project_name) ⇒ Object



98
99
100
# File 'lib/damagecontrol/directories.rb', line 98

def trigger_checkout_dir(project_name)
  "#{project_dir(project_name)}/trigger_checkout"
end