bake-toolkit 2.32.0 → 2.33.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bake/toolchain/errorparser/diab_compiler_error_parser.rb +40 -40
- data/lib/bake/toolchain/errorparser/gcc_compiler_error_parser.rb +35 -35
- data/lib/bake/toolchain/errorparser/greenhills_compiler_error_parser.rb +32 -32
- data/lib/bake/toolchain/errorparser/keil_compiler_error_parser.rb +40 -40
- data/lib/bake/toolchain/errorparser/msvc_compiler_error_parser.rb +63 -63
- data/lib/bake/toolchain/errorparser/tasking_compiler_error_parser.rb +31 -31
- data/lib/bake/toolchain/errorparser/ti_compiler_error_parser.rb +30 -30
- data/lib/blocks/block.rb +121 -22
- data/lib/blocks/blockBase.rb +206 -205
- data/lib/blocks/compile.rb +124 -147
- data/lib/blocks/executable.rb +1 -1
- data/lib/blocks/library.rb +147 -131
- data/lib/common/cleanup.rb +14 -10
- data/lib/common/ext/dir.rb +19 -0
- data/lib/common/ext/stdout.rb +95 -45
- data/lib/common/process.rb +64 -64
- data/lib/common/version.rb +1 -1
- data/lib/multithread/job.rb +73 -44
- data/lib/tocxx.rb +13 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e7ed2853443ad76ecf1127b80c0cd92eef0b3c5
|
4
|
+
data.tar.gz: 9cf372289dca4e9951661e8ac196aaacf2d8c574
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed3019529754a80e9d3525aa9bf80f5d787a24b63ac0ba3752e73abe0570faab8617fd0434039766327473808fff9b5f95e12b81b3948cac970c5464cd2bef8a
|
7
|
+
data.tar.gz: c0ab324a725930bf2fe0302f5f8eaba32a41b8c37e8f2867df034415d27fc3854c895c6d6d133dddfcd5c608ef328dfad30080c083f44a068a26e6319b363e92
|
@@ -1,40 +1,40 @@
|
|
1
|
-
require 'bake/toolchain/errorparser/error_parser'
|
2
|
-
|
3
|
-
module Bake
|
4
|
-
class DiabCompilerErrorParser < ErrorParser
|
5
|
-
|
6
|
-
def initialize()
|
7
|
-
@error_expression_start = /\"(.+)\", line ([0-9]+): (?!included)(catastrophic |fatal )*([A-Za-z]+)[:]* (.+)/
|
8
|
-
@error_expression_end = /^[ \t]*\^/ # well, it may end without "^"... in this case the error will last the next one starts or console text ends
|
9
|
-
end
|
10
|
-
|
11
|
-
def scan_lines(consoleOutput, proj_dir)
|
12
|
-
res = []
|
13
|
-
error_severity = 255
|
14
|
-
consoleOutputFullnames = ""
|
15
|
-
consoleOutput[0].each_line do |l|
|
16
|
-
d = ErrorDesc.new
|
17
|
-
lstripped = l.rstrip
|
18
|
-
scan_res = lstripped.scan(@error_expression_start)
|
19
|
-
if scan_res.length == 0
|
20
|
-
d.severity = error_severity
|
21
|
-
d.message = lstripped
|
22
|
-
if lstripped.scan(@error_expression_end).length > 0
|
23
|
-
error_severity = 255
|
24
|
-
end
|
25
|
-
else
|
26
|
-
d.file_name = File.expand_path(scan_res[0][0])
|
27
|
-
d.line_number = scan_res[0][1].to_i
|
28
|
-
d.message = scan_res[0][4]
|
29
|
-
d.severity = get_severity(scan_res[0][3])
|
30
|
-
error_severity = d.severity
|
31
|
-
l.gsub!(scan_res[0][0],d.file_name)
|
32
|
-
end
|
33
|
-
res << d
|
34
|
-
consoleOutputFullnames << l
|
35
|
-
end
|
36
|
-
[res, consoleOutputFullnames]
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
end
|
1
|
+
require 'bake/toolchain/errorparser/error_parser'
|
2
|
+
|
3
|
+
module Bake
|
4
|
+
class DiabCompilerErrorParser < ErrorParser
|
5
|
+
|
6
|
+
def initialize()
|
7
|
+
@error_expression_start = /\"(.+)\", line ([0-9]+): (?!included)(catastrophic |fatal )*([A-Za-z]+)[:]* (.+)/
|
8
|
+
@error_expression_end = /^[ \t]*\^/ # well, it may end without "^"... in this case the error will last the next one starts or console text ends
|
9
|
+
end
|
10
|
+
|
11
|
+
def scan_lines(consoleOutput, proj_dir)
|
12
|
+
res = []
|
13
|
+
error_severity = 255
|
14
|
+
consoleOutputFullnames = ""
|
15
|
+
consoleOutput[0].each_line do |l|
|
16
|
+
d = ErrorDesc.new
|
17
|
+
lstripped = l.rstrip
|
18
|
+
scan_res = lstripped.scan(@error_expression_start)
|
19
|
+
if scan_res.length == 0
|
20
|
+
d.severity = error_severity
|
21
|
+
d.message = lstripped
|
22
|
+
if lstripped.scan(@error_expression_end).length > 0
|
23
|
+
error_severity = 255
|
24
|
+
end
|
25
|
+
else
|
26
|
+
d.file_name = File.expand_path(scan_res[0][0], proj_dir)
|
27
|
+
d.line_number = scan_res[0][1].to_i
|
28
|
+
d.message = scan_res[0][4]
|
29
|
+
d.severity = get_severity(scan_res[0][3])
|
30
|
+
error_severity = d.severity
|
31
|
+
l.gsub!(scan_res[0][0],d.file_name)
|
32
|
+
end
|
33
|
+
res << d
|
34
|
+
consoleOutputFullnames << l
|
35
|
+
end
|
36
|
+
[res, consoleOutputFullnames]
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
@@ -1,35 +1,35 @@
|
|
1
|
-
require 'bake/toolchain/errorparser/error_parser'
|
2
|
-
|
3
|
-
module Bake
|
4
|
-
class GCCCompilerErrorParser < ErrorParser
|
5
|
-
|
6
|
-
def initialize()
|
7
|
-
@error_expression = /([^:]+):([0-9]+)[:0-9]* (catastrophic |fatal )*([A-Za-z\._]+): (.+)/
|
8
|
-
end
|
9
|
-
|
10
|
-
def scan_lines(consoleOutput, proj_dir)
|
11
|
-
res = []
|
12
|
-
consoleOutputFullnames = ""
|
13
|
-
consoleOutput[0].each_line do |l|
|
14
|
-
d = ErrorDesc.new
|
15
|
-
scan_res = l.gsub(/\r\n?/, "").scan(@error_expression)
|
16
|
-
if scan_res.length > 0
|
17
|
-
d.file_name = File.expand_path(scan_res[0][0])
|
18
|
-
d.line_number = scan_res[0][1].to_i
|
19
|
-
d.message = scan_res[0][4]
|
20
|
-
if (scan_res[0][3].include?".")
|
21
|
-
d.severity = SEVERITY_ERROR
|
22
|
-
d.message = scan_res[0][3] + ": " + d.message
|
23
|
-
else
|
24
|
-
d.severity = get_severity(scan_res[0][3])
|
25
|
-
end
|
26
|
-
l.gsub!(scan_res[0][0],d.file_name)
|
27
|
-
end
|
28
|
-
res << d
|
29
|
-
consoleOutputFullnames << l
|
30
|
-
end
|
31
|
-
[res, consoleOutputFullnames]
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|
1
|
+
require 'bake/toolchain/errorparser/error_parser'
|
2
|
+
|
3
|
+
module Bake
|
4
|
+
class GCCCompilerErrorParser < ErrorParser
|
5
|
+
|
6
|
+
def initialize()
|
7
|
+
@error_expression = /([^:]+):([0-9]+)[:0-9]* (catastrophic |fatal )*([A-Za-z\._]+): (.+)/
|
8
|
+
end
|
9
|
+
|
10
|
+
def scan_lines(consoleOutput, proj_dir)
|
11
|
+
res = []
|
12
|
+
consoleOutputFullnames = ""
|
13
|
+
consoleOutput[0].each_line do |l|
|
14
|
+
d = ErrorDesc.new
|
15
|
+
scan_res = l.gsub(/\r\n?/, "").scan(@error_expression)
|
16
|
+
if scan_res.length > 0
|
17
|
+
d.file_name = File.expand_path(scan_res[0][0], proj_dir)
|
18
|
+
d.line_number = scan_res[0][1].to_i
|
19
|
+
d.message = scan_res[0][4]
|
20
|
+
if (scan_res[0][3].include?".")
|
21
|
+
d.severity = SEVERITY_ERROR
|
22
|
+
d.message = scan_res[0][3] + ": " + d.message
|
23
|
+
else
|
24
|
+
d.severity = get_severity(scan_res[0][3])
|
25
|
+
end
|
26
|
+
l.gsub!(scan_res[0][0],d.file_name)
|
27
|
+
end
|
28
|
+
res << d
|
29
|
+
consoleOutputFullnames << l
|
30
|
+
end
|
31
|
+
[res, consoleOutputFullnames]
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
@@ -1,32 +1,32 @@
|
|
1
|
-
require 'bake/toolchain/errorparser/error_parser'
|
2
|
-
|
3
|
-
module Bake
|
4
|
-
class GreenHillsCompilerErrorParser < ErrorParser
|
5
|
-
|
6
|
-
def initialize()
|
7
|
-
# example:
|
8
|
-
# "test.c", line 1: warning #123-D: blah blub
|
9
|
-
@error_expression = /"([^"]+)", line ([0-9]+)[:0-9]* (catastrophic |fatal )*([A-Za-z\._]+) (.+)/
|
10
|
-
end
|
11
|
-
|
12
|
-
def scan_lines(consoleOutput, proj_dir)
|
13
|
-
res = []
|
14
|
-
consoleOutputFullnames = ""
|
15
|
-
consoleOutput[0].each_line do |l|
|
16
|
-
d = ErrorDesc.new
|
17
|
-
scan_res = l.gsub(/\r\n?/, "").scan(@error_expression)
|
18
|
-
if scan_res.length > 0
|
19
|
-
d.file_name = File.expand_path(scan_res[0][0])
|
20
|
-
d.line_number = scan_res[0][1].to_i
|
21
|
-
d.message = scan_res[0][4]
|
22
|
-
d.severity = get_severity(scan_res[0][3])
|
23
|
-
l.gsub!(scan_res[0][0],d.file_name)
|
24
|
-
end
|
25
|
-
res << d
|
26
|
-
consoleOutputFullnames << l
|
27
|
-
end
|
28
|
-
[res, consoleOutputFullnames]
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
end
|
1
|
+
require 'bake/toolchain/errorparser/error_parser'
|
2
|
+
|
3
|
+
module Bake
|
4
|
+
class GreenHillsCompilerErrorParser < ErrorParser
|
5
|
+
|
6
|
+
def initialize()
|
7
|
+
# example:
|
8
|
+
# "test.c", line 1: warning #123-D: blah blub
|
9
|
+
@error_expression = /"([^"]+)", line ([0-9]+)[:0-9]* (catastrophic |fatal )*([A-Za-z\._]+) (.+)/
|
10
|
+
end
|
11
|
+
|
12
|
+
def scan_lines(consoleOutput, proj_dir)
|
13
|
+
res = []
|
14
|
+
consoleOutputFullnames = ""
|
15
|
+
consoleOutput[0].each_line do |l|
|
16
|
+
d = ErrorDesc.new
|
17
|
+
scan_res = l.gsub(/\r\n?/, "").scan(@error_expression)
|
18
|
+
if scan_res.length > 0
|
19
|
+
d.file_name = File.expand_path(scan_res[0][0], proj_dir)
|
20
|
+
d.line_number = scan_res[0][1].to_i
|
21
|
+
d.message = scan_res[0][4]
|
22
|
+
d.severity = get_severity(scan_res[0][3])
|
23
|
+
l.gsub!(scan_res[0][0],d.file_name)
|
24
|
+
end
|
25
|
+
res << d
|
26
|
+
consoleOutputFullnames << l
|
27
|
+
end
|
28
|
+
[res, consoleOutputFullnames]
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
@@ -1,40 +1,40 @@
|
|
1
|
-
require 'bake/toolchain/errorparser/error_parser'
|
2
|
-
|
3
|
-
module Bake
|
4
|
-
class KeilCompilerErrorParser < ErrorParser
|
5
|
-
|
6
|
-
def initialize()
|
7
|
-
@error_expression_start = /\"(.+)\", line ([0-9]+): (?!included)(catastrophic |fatal )*([A-Za-z]+)[:]* (.+)/
|
8
|
-
@error_expression_end = /^[ \t]*\^/ # well, it may end without "^"... in this case the error will last the next one starts or console text ends
|
9
|
-
end
|
10
|
-
|
11
|
-
def scan_lines(consoleOutput, proj_dir)
|
12
|
-
res = []
|
13
|
-
error_severity = 255
|
14
|
-
consoleOutputFullnames = ""
|
15
|
-
consoleOutput[0].each_line do |l|
|
16
|
-
d = ErrorDesc.new
|
17
|
-
lstripped = l.rstrip
|
18
|
-
scan_res = lstripped.scan(@error_expression_start)
|
19
|
-
if scan_res.length == 0
|
20
|
-
d.severity = error_severity
|
21
|
-
d.message = lstripped
|
22
|
-
if lstripped.scan(@error_expression_end).length > 0
|
23
|
-
error_severity = 255
|
24
|
-
end
|
25
|
-
else
|
26
|
-
d.file_name = File.expand_path(scan_res[0][0])
|
27
|
-
d.line_number = scan_res[0][1].to_i
|
28
|
-
d.message = scan_res[0][4]
|
29
|
-
d.severity = get_severity(scan_res[0][3])
|
30
|
-
error_severity = d.severity
|
31
|
-
l.gsub!(scan_res[0][0],d.file_name)
|
32
|
-
end
|
33
|
-
res << d
|
34
|
-
consoleOutputFullnames << l
|
35
|
-
end
|
36
|
-
[res, consoleOutputFullnames]
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
end
|
1
|
+
require 'bake/toolchain/errorparser/error_parser'
|
2
|
+
|
3
|
+
module Bake
|
4
|
+
class KeilCompilerErrorParser < ErrorParser
|
5
|
+
|
6
|
+
def initialize()
|
7
|
+
@error_expression_start = /\"(.+)\", line ([0-9]+): (?!included)(catastrophic |fatal )*([A-Za-z]+)[:]* (.+)/
|
8
|
+
@error_expression_end = /^[ \t]*\^/ # well, it may end without "^"... in this case the error will last the next one starts or console text ends
|
9
|
+
end
|
10
|
+
|
11
|
+
def scan_lines(consoleOutput, proj_dir)
|
12
|
+
res = []
|
13
|
+
error_severity = 255
|
14
|
+
consoleOutputFullnames = ""
|
15
|
+
consoleOutput[0].each_line do |l|
|
16
|
+
d = ErrorDesc.new
|
17
|
+
lstripped = l.rstrip
|
18
|
+
scan_res = lstripped.scan(@error_expression_start)
|
19
|
+
if scan_res.length == 0
|
20
|
+
d.severity = error_severity
|
21
|
+
d.message = lstripped
|
22
|
+
if lstripped.scan(@error_expression_end).length > 0
|
23
|
+
error_severity = 255
|
24
|
+
end
|
25
|
+
else
|
26
|
+
d.file_name = File.expand_path(scan_res[0][0], proj_dir)
|
27
|
+
d.line_number = scan_res[0][1].to_i
|
28
|
+
d.message = scan_res[0][4]
|
29
|
+
d.severity = get_severity(scan_res[0][3])
|
30
|
+
error_severity = d.severity
|
31
|
+
l.gsub!(scan_res[0][0],d.file_name)
|
32
|
+
end
|
33
|
+
res << d
|
34
|
+
consoleOutputFullnames << l
|
35
|
+
end
|
36
|
+
[res, consoleOutputFullnames]
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
@@ -1,63 +1,63 @@
|
|
1
|
-
require 'bake/toolchain/errorparser/error_parser'
|
2
|
-
|
3
|
-
module Bake
|
4
|
-
class MSVCCompilerErrorParser < ErrorParser
|
5
|
-
|
6
|
-
def initialize()
|
7
|
-
@error_expression = /(.+)\(([0-9]+)\) : ([A-Za-z\._]+) (C[\d]+: .+)/
|
8
|
-
@incEng = "Note: including file: "
|
9
|
-
@incGer = "Hinweis: Einlesen der Datei: "
|
10
|
-
end
|
11
|
-
|
12
|
-
def scan_lines(consoleOutput, proj_dir)
|
13
|
-
includeList = []
|
14
|
-
res = []
|
15
|
-
consoleOutputFiltered = ""
|
16
|
-
consoleOutputFullnames = ""
|
17
|
-
filterLine = 0
|
18
|
-
consoleOutput[0].each_line do |l|
|
19
|
-
filterLine = filterLine + 1
|
20
|
-
next if (filterLine == 1 and l.include?"Assembling: ")
|
21
|
-
if (filterLine <= 2 and l.include?"Microsoft (R)")
|
22
|
-
filterLine = 1
|
23
|
-
next
|
24
|
-
end
|
25
|
-
next if (filterLine == 2 and l.include?"Copyright (C)")
|
26
|
-
next if (filterLine == 3 and l.strip.empty?)
|
27
|
-
next if (filterLine == 4 and not l.include?" : " and l.include?".") # the source file
|
28
|
-
filterLine = 100
|
29
|
-
|
30
|
-
if l.include?@incEng
|
31
|
-
includeList << l[@incEng.length..-1].strip
|
32
|
-
next
|
33
|
-
end
|
34
|
-
if l.include?@incGer
|
35
|
-
includeList << l[@incGer.length..-1].strip
|
36
|
-
next
|
37
|
-
end
|
38
|
-
|
39
|
-
d = ErrorDesc.new
|
40
|
-
scan_res = l.gsub(/\r\n?/, "").scan(@error_expression)
|
41
|
-
lFull = l
|
42
|
-
if scan_res.length > 0
|
43
|
-
d.file_name = File.expand_path(scan_res[0][0])
|
44
|
-
d.line_number = scan_res[0][1].to_i
|
45
|
-
d.message = scan_res[0][3]
|
46
|
-
if (scan_res[0][2].include?".")
|
47
|
-
d.severity = SEVERITY_ERROR
|
48
|
-
d.message = scan_res[0][2] + ": " + d.message
|
49
|
-
else
|
50
|
-
d.severity = get_severity(scan_res[0][2])
|
51
|
-
end
|
52
|
-
lFull = l.gsub(scan_res[0][0],d.file_name)
|
53
|
-
end
|
54
|
-
res << d
|
55
|
-
consoleOutputFiltered << l
|
56
|
-
consoleOutputFullnames << lFull
|
57
|
-
end
|
58
|
-
consoleOutput[0] = consoleOutputFiltered
|
59
|
-
[res, consoleOutputFullnames, includeList.uniq]
|
60
|
-
end
|
61
|
-
|
62
|
-
end
|
63
|
-
end
|
1
|
+
require 'bake/toolchain/errorparser/error_parser'
|
2
|
+
|
3
|
+
module Bake
|
4
|
+
class MSVCCompilerErrorParser < ErrorParser
|
5
|
+
|
6
|
+
def initialize()
|
7
|
+
@error_expression = /(.+)\(([0-9]+)\) : ([A-Za-z\._]+) (C[\d]+: .+)/
|
8
|
+
@incEng = "Note: including file: "
|
9
|
+
@incGer = "Hinweis: Einlesen der Datei: "
|
10
|
+
end
|
11
|
+
|
12
|
+
def scan_lines(consoleOutput, proj_dir)
|
13
|
+
includeList = []
|
14
|
+
res = []
|
15
|
+
consoleOutputFiltered = ""
|
16
|
+
consoleOutputFullnames = ""
|
17
|
+
filterLine = 0
|
18
|
+
consoleOutput[0].each_line do |l|
|
19
|
+
filterLine = filterLine + 1
|
20
|
+
next if (filterLine == 1 and l.include?"Assembling: ")
|
21
|
+
if (filterLine <= 2 and l.include?"Microsoft (R)")
|
22
|
+
filterLine = 1
|
23
|
+
next
|
24
|
+
end
|
25
|
+
next if (filterLine == 2 and l.include?"Copyright (C)")
|
26
|
+
next if (filterLine == 3 and l.strip.empty?)
|
27
|
+
next if (filterLine == 4 and not l.include?" : " and l.include?".") # the source file
|
28
|
+
filterLine = 100
|
29
|
+
|
30
|
+
if l.include?@incEng
|
31
|
+
includeList << l[@incEng.length..-1].strip
|
32
|
+
next
|
33
|
+
end
|
34
|
+
if l.include?@incGer
|
35
|
+
includeList << l[@incGer.length..-1].strip
|
36
|
+
next
|
37
|
+
end
|
38
|
+
|
39
|
+
d = ErrorDesc.new
|
40
|
+
scan_res = l.gsub(/\r\n?/, "").scan(@error_expression)
|
41
|
+
lFull = l
|
42
|
+
if scan_res.length > 0
|
43
|
+
d.file_name = File.expand_path(scan_res[0][0], proj_dir)
|
44
|
+
d.line_number = scan_res[0][1].to_i
|
45
|
+
d.message = scan_res[0][3]
|
46
|
+
if (scan_res[0][2].include?".")
|
47
|
+
d.severity = SEVERITY_ERROR
|
48
|
+
d.message = scan_res[0][2] + ": " + d.message
|
49
|
+
else
|
50
|
+
d.severity = get_severity(scan_res[0][2])
|
51
|
+
end
|
52
|
+
lFull = l.gsub(scan_res[0][0],d.file_name)
|
53
|
+
end
|
54
|
+
res << d
|
55
|
+
consoleOutputFiltered << l
|
56
|
+
consoleOutputFullnames << lFull
|
57
|
+
end
|
58
|
+
consoleOutput[0] = consoleOutputFiltered
|
59
|
+
[res, consoleOutputFullnames, includeList.uniq]
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
@@ -1,31 +1,31 @@
|
|
1
|
-
require 'bake/toolchain/errorparser/error_parser'
|
2
|
-
|
3
|
-
module Bake
|
4
|
-
class TaskingCompilerErrorParser < ErrorParser
|
5
|
-
|
6
|
-
def initialize()
|
7
|
-
@error_expression = /.* (.+): \[\"(.+)\" ([0-9]+)\] (.*)/
|
8
|
-
end
|
9
|
-
|
10
|
-
def scan_lines(consoleOutput, proj_dir)
|
11
|
-
res = []
|
12
|
-
consoleOutputFullnames = ""
|
13
|
-
consoleOutput[0].each_line do |l|
|
14
|
-
d = ErrorDesc.new
|
15
|
-
lstripped = l.rstrip
|
16
|
-
scan_res = lstripped.scan(@error_expression)
|
17
|
-
if scan_res.length > 0
|
18
|
-
d.file_name = File.expand_path(scan_res[0][1])
|
19
|
-
d.line_number = scan_res[0][2].to_i
|
20
|
-
d.message = scan_res[0][3]
|
21
|
-
d.severity = get_tasking_severity(scan_res[0][0])
|
22
|
-
l.gsub!(scan_res[0][0],d.file_name)
|
23
|
-
end
|
24
|
-
res << d
|
25
|
-
consoleOutputFullnames << l
|
26
|
-
end
|
27
|
-
[res, consoleOutputFullnames]
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
1
|
+
require 'bake/toolchain/errorparser/error_parser'
|
2
|
+
|
3
|
+
module Bake
|
4
|
+
class TaskingCompilerErrorParser < ErrorParser
|
5
|
+
|
6
|
+
def initialize()
|
7
|
+
@error_expression = /.* (.+): \[\"(.+)\" ([0-9]+)\] (.*)/
|
8
|
+
end
|
9
|
+
|
10
|
+
def scan_lines(consoleOutput, proj_dir)
|
11
|
+
res = []
|
12
|
+
consoleOutputFullnames = ""
|
13
|
+
consoleOutput[0].each_line do |l|
|
14
|
+
d = ErrorDesc.new
|
15
|
+
lstripped = l.rstrip
|
16
|
+
scan_res = lstripped.scan(@error_expression)
|
17
|
+
if scan_res.length > 0
|
18
|
+
d.file_name = File.expand_path(scan_res[0][1], proj_dir)
|
19
|
+
d.line_number = scan_res[0][2].to_i
|
20
|
+
d.message = scan_res[0][3]
|
21
|
+
d.severity = get_tasking_severity(scan_res[0][0])
|
22
|
+
l.gsub!(scan_res[0][0],d.file_name)
|
23
|
+
end
|
24
|
+
res << d
|
25
|
+
consoleOutputFullnames << l
|
26
|
+
end
|
27
|
+
[res, consoleOutputFullnames]
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|