15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/ConfigParser.rb', line 15
def readConfig
begin
mapping = []
mappings = []
bracket = false
i=0
j=0
File.open(@filename) do |l|
while(line = l.gets) != nil
if line.include?("{")
mapping.push({})
i = i+1
mapping[i] = mapping[i-1].clone
bracket = true
lineNumber = l.lineno
elsif line.include?("}")
if bracket == true
if @projToConvert != "" && @projToConvert != mapping[i]['Proj2Convert']
elsif @projToConvert != "" && @projToConvert == mapping[i]['Proj2Convert']
mappings.push({})
mappings[j] = mapping[i].clone
break
else
mappings.push({})
mappings[j] = mapping[i].clone
end
if mappings.length != 0
mappings[j].each do |key,value|
raise "Error: Workspace parameter from Mapping in line #{lineNumber} is missing!" if mappings[j].has_key?('Workspace') == false
raise "Error: MainProj parameter from Mapping in line #{lineNumber} is missing!" if mappings[j].has_key?('MainProj') == false
raise "Error: BuildConfig parameter from Mapping in line #{lineNumber} is missing!" if mappings[j].has_key?('BuildConfig') == false
raise "Error: Proj2Convert parameter from Mapping in line #{lineNumber} is missing!" if mappings[j].has_key?('Proj2Convert') == false
raise "Error: OutputFile parameter from Mapping in line #{lineNumber} is missing!" if mappings[j].has_key?('OutputFile') == false
raise "Error: TemplateFile parameter from Mapping in line #{lineNumber} is missing!" if mappings[j].has_key?('TemplateFile') == false
end
j = j+1
end
end
mapping.delete_at(i)
i = i-1
bracket = false
else
getKeyValuePairs(line,mapping[i],lineNumber)
end
end
end
return 0, mappings
rescue Exception => e
puts e.message
puts e.back_trace if @debugMode == true
abort
end
end
|