bake-toolkit 2.37.14 → 2.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/bakeqac +13 -6
- data/lib/bakeqac/filter.rb +2 -2
- data/lib/bakeqac/options/options.rb +8 -4
- data/lib/bakery/toBake.rb +0 -6
- data/lib/blocks/compile.rb +12 -5
- data/lib/blocks/executable.rb +2 -2
- data/lib/blocks/library.rb +2 -2
- data/lib/common/root.rb +4 -0
- data/lib/common/utils.rb +10 -6
- data/lib/common/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fe8160f5c00bfbdb0b8f53dd51f34de03c113da
|
4
|
+
data.tar.gz: 19b60b81d616cb347710c196b0a35cfd49a843b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a85cee46490cb6e671fd30d4b8f0d8eb25a5bede3ddd81b9de2fe7e4aff56f4cfd2538c4d52939d5a2b71ea7b4bc75682971a9c688e8ebd0866fe58a655036d5
|
7
|
+
data.tar.gz: eedd45fbd7f9adf294290ff7de81f830377cbeab8d464735f39e6291430321633d14462cb9a7e634eda91738d887d3a60547927312fe2b35cb5c0ae5fe292a61
|
data/bin/bakeqac
CHANGED
@@ -123,7 +123,7 @@ end
|
|
123
123
|
excludeParam = false
|
124
124
|
wasMinus = false
|
125
125
|
ARGV.each do |x|
|
126
|
-
if ["--c++11", "--c++14", "--qacnofilter", "--qacnoformat", "--qacrawformat", "--qacunittest", "--qacdoc", "--qaccctpatch"].include?x
|
126
|
+
if ["--c++11", "--c++14", "--qacnofilefilter", "--qacnomsgfilter", "--qacnofilter", "--qacnoformat", "--qacrawformat", "--qacunittest", "--qacdoc", "--qaccctpatch"].include?x
|
127
127
|
excludeParam = false
|
128
128
|
next
|
129
129
|
elsif ["--cct", "--rcf", "--acf", "--qacdata", "--qacstep", "--qacretry"].include?x
|
@@ -235,10 +235,13 @@ $cmdRemoveLocks = qaExe + ["admin", "--qaf-project", @options.qacdata, "--remove
|
|
235
235
|
end
|
236
236
|
end
|
237
237
|
|
238
|
-
if
|
238
|
+
if success
|
239
|
+
ProjectFilter.writeFilter(filter)
|
240
|
+
end
|
241
|
+
|
242
|
+
if @options.qacmsgfilter
|
239
243
|
if success
|
240
244
|
puts filterOutput
|
241
|
-
ProjectFilter.writeFilter(filter)
|
242
245
|
else
|
243
246
|
puts consoleOutput # error
|
244
247
|
end
|
@@ -277,11 +280,15 @@ $cmdRemoveLocks = qaExe + ["admin", "--qaf-project", @options.qacdata, "--remove
|
|
277
280
|
converted_line = (scan_res[0][0].downcase + scan_res[0][1] + scan_res[0][2].gsub(/\\/,"/"))
|
278
281
|
foundFile = ProjectFilter.localFile(converted_line)
|
279
282
|
end
|
280
|
-
if foundFile && !line.include?("QAC++ Deep Flow Static Analyser")
|
283
|
+
if foundFile && (!line.include?("QAC++ Deep Flow Static Analyser") || !@options.qacmsgfilter)
|
281
284
|
filteredLines << line
|
282
|
-
|
283
|
-
|
285
|
+
else
|
286
|
+
misraLine = ["MSG: ", "trc: ", "// ======= Results for"].none? { |pattern| line.include?(pattern) }
|
287
|
+
if !success || (misraLine && !@options.qacmsgfilter) # HACK, see above
|
288
|
+
filteredLines << line
|
289
|
+
end
|
284
290
|
end
|
291
|
+
|
285
292
|
end
|
286
293
|
|
287
294
|
# 2. sort
|
data/lib/bakeqac/filter.rb
CHANGED
@@ -19,7 +19,7 @@ module Bake
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def self.localFile(str)
|
22
|
-
return true if not is_valid?
|
22
|
+
return true if (not is_valid?) || (not @@options.qacfilefilter)
|
23
23
|
projects.any? { |fil| str.include?(fil+"/") and not str.include?(fil+"/test/") and not str.include?(fil+"/mock/") and not str.include?(fil+"/.qacdata/") }
|
24
24
|
end
|
25
25
|
|
@@ -35,7 +35,7 @@ module Bake
|
|
35
35
|
def self.calcFilter_internal
|
36
36
|
@@filterList = []
|
37
37
|
filter_filename = "#{@@options.qacdata}/filter.txt"
|
38
|
-
@@valid = File.exist?(filter_filename)
|
38
|
+
@@valid = File.exist?(filter_filename)
|
39
39
|
if @@valid
|
40
40
|
File.open(filter_filename, "r") do |f|
|
41
41
|
f.each_line { |line| @@filterList << line.strip }
|
@@ -7,7 +7,7 @@ module Bake
|
|
7
7
|
|
8
8
|
class BakeqacOptions < Parser
|
9
9
|
attr_reader :rcf, :acf, :qacstep, :qac_home, :cct_append # String
|
10
|
-
attr_reader :c11, :c14, :
|
10
|
+
attr_reader :c11, :c14, :qacmsgfilter, :qacfilefilter, :qacnoformat, :qacunittest, :qacdoc, :cct_patch # Boolean
|
11
11
|
attr_reader :cct # Array
|
12
12
|
attr_reader :qacretry # int
|
13
13
|
attr_accessor :qacdata # String
|
@@ -26,7 +26,8 @@ module Bake
|
|
26
26
|
@default = nil
|
27
27
|
@qacdata = nil
|
28
28
|
@qacstep = nil
|
29
|
-
@
|
29
|
+
@qacmsgfilter = true
|
30
|
+
@qacfilefilter = true
|
30
31
|
@qacnoformat = false
|
31
32
|
@qacunittest = false
|
32
33
|
@qacretry = 0
|
@@ -45,7 +46,9 @@ module Bake
|
|
45
46
|
add_option(["--qaccctpatch" ], lambda { @cct_patch = true })
|
46
47
|
add_option(["--qacdata" ], lambda { |x| @qacdata = x.gsub(/\\/,"/") })
|
47
48
|
add_option(["--qacstep" ], lambda { |x| @qacstep = x })
|
48
|
-
add_option(["--qacnofilter" ], lambda { @
|
49
|
+
add_option(["--qacnofilter" ], lambda { @qacfilefilter = false; @qacmsgfilter = false }) # backward compatibility
|
50
|
+
add_option(["--qacnofilefilter" ], lambda { @qacfilefilter = false })
|
51
|
+
add_option(["--qacnomsgfilter" ], lambda { @qacmsgfilter = false })
|
49
52
|
add_option(["--qacretry" ], lambda { |x| @qacretry = x.to_i })
|
50
53
|
add_option(["--qacnoformat", "--qacrawformat"], lambda { @qacnoformat = true })
|
51
54
|
add_option(["--qacunittest" ], lambda { @qacunittest = true })
|
@@ -67,7 +70,8 @@ module Bake
|
|
67
70
|
puts " --qaccctpatch If specified, some adaptions to cct are made. Might improve the result - no guarantee."
|
68
71
|
puts " --qacdata <dir> QAC writes data into this folder. Default is <working directory>/.qacdata."
|
69
72
|
puts " --qacstep admin|analyze|view|report|mdr Steps can be ORed. Per default admin|analyze|view will be executed."
|
70
|
-
puts " --
|
73
|
+
puts " --qacnofilefilter Some files will be filtered per default, like /test/."
|
74
|
+
puts " --qacnomsgfilter Some messages will be filter per default filters to reduce noise."
|
71
75
|
puts " --qacrawformat Raw QAC output (with incomplete MISRA rules!)."
|
72
76
|
puts " --qacretry <seconds> If build or result step fail due to refused license, the step will be retried until timeout."
|
73
77
|
puts " --qacdoc Print link to HTML help page for every warning if found."
|
data/lib/bakery/toBake.rb
CHANGED
@@ -55,12 +55,6 @@ module Bake
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
-
toBuildPattern.each do |bp|
|
59
|
-
if not bp.coll_p.isFound
|
60
|
-
Bake.formatter.printInfo("No match for project #{bp.coll_p.name} with config #{bp.coll_p.config}", @options.collection_dir+"/Collection.meta", bp.coll_p.line_number)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
58
|
col.exclude.each do |p|
|
65
59
|
p.name = "/"+p.name.gsub("*","(\\w*)")+"/Project.meta"
|
66
60
|
p.config = "^"+p.config.gsub("*","(\\w*)")+"$"
|
data/lib/blocks/compile.rb
CHANGED
@@ -159,8 +159,8 @@ module Bake
|
|
159
159
|
raise SystemCommandFailed.new
|
160
160
|
end
|
161
161
|
|
162
|
-
cmd = Utils.flagSplit(compiler[:PREFIX],
|
163
|
-
cmd += Utils.flagSplit(compiler[:COMMAND],
|
162
|
+
cmd = Utils.flagSplit(compiler[:PREFIX], true)
|
163
|
+
cmd += Utils.flagSplit(compiler[:COMMAND], true)
|
164
164
|
cmd += compiler[:COMPILE_FLAGS].split(" ")
|
165
165
|
|
166
166
|
if dep_filename
|
@@ -228,6 +228,11 @@ module Bake
|
|
228
228
|
end if Bake.options.filelist
|
229
229
|
end
|
230
230
|
check_config_file
|
231
|
+
else
|
232
|
+
if Bake.options.filename and Bake.options.verbose >= 1
|
233
|
+
puts "Up-to-date #{source}"
|
234
|
+
SyncOut.flushOutput()
|
235
|
+
end
|
231
236
|
end
|
232
237
|
|
233
238
|
|
@@ -286,8 +291,10 @@ module Bake
|
|
286
291
|
def execute
|
287
292
|
#Dir.chdir(@projectDir) do
|
288
293
|
|
289
|
-
|
290
|
-
|
294
|
+
SyncOut.mutex.synchronize do
|
295
|
+
calcSources
|
296
|
+
calcObjects
|
297
|
+
end
|
291
298
|
|
292
299
|
fileListBlock = Set.new if Bake.options.filelist
|
293
300
|
compileJobs = Multithread::Jobs.new(@source_files) do |jobs|
|
@@ -439,7 +446,7 @@ module Bake
|
|
439
446
|
@source_files.keep_if do |source|
|
440
447
|
source.include?Bake.options.filename
|
441
448
|
end
|
442
|
-
if @source_files.length == 0 and cleaning == false and @config.files.length > 0
|
449
|
+
if @source_files.length == 0 and cleaning == false and @config.files.length > 0 and Bake.options.verbose >= 2
|
443
450
|
Bake.formatter.printInfo("#{Bake.options.filename} does not match to any source", @config)
|
444
451
|
end
|
445
452
|
end
|
data/lib/blocks/executable.rb
CHANGED
@@ -116,8 +116,8 @@ module Bake
|
|
116
116
|
|
117
117
|
linker = @block.tcs[:LINKER]
|
118
118
|
|
119
|
-
cmd = Utils.flagSplit(linker[:PREFIX],
|
120
|
-
cmd += Utils.flagSplit(linker[:COMMAND],
|
119
|
+
cmd = Utils.flagSplit(linker[:PREFIX], true)
|
120
|
+
cmd += Utils.flagSplit(linker[:COMMAND], true) # g++
|
121
121
|
cmd += linker[:MUST_FLAGS].split(" ")
|
122
122
|
cmd += Bake::Utils::flagSplit(linker[:FLAGS],true)
|
123
123
|
|
data/lib/blocks/library.rb
CHANGED
@@ -87,8 +87,8 @@ module Bake
|
|
87
87
|
end
|
88
88
|
archiver = @block.tcs[:ARCHIVER]
|
89
89
|
|
90
|
-
cmd = Utils.flagSplit(archiver[:PREFIX],
|
91
|
-
cmd += Utils.flagSplit(archiver[:COMMAND],
|
90
|
+
cmd = Utils.flagSplit(archiver[:PREFIX], true)
|
91
|
+
cmd += Utils.flagSplit(archiver[:COMMAND], true) # ar
|
92
92
|
cmd += Bake::Utils::flagSplit(archiver[:FLAGS],true) # --all_load
|
93
93
|
cmd += archiver[:ARCHIVE_FLAGS].split(" ")
|
94
94
|
|
data/lib/common/root.rb
CHANGED
@@ -79,6 +79,10 @@ module Bake
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def self.search_to_depth(root, baseName, depth)
|
82
|
+
if not File.exist?(root)
|
83
|
+
Bake.formatter.printError("Root #{root} does not exist.")
|
84
|
+
ExitHelper.exit(1)
|
85
|
+
end
|
82
86
|
if depth != nil
|
83
87
|
array = Array.new(depth+1) {|i| root + '/*'*i + '/' + baseName}
|
84
88
|
return Dir.glob(array).sort
|
data/lib/common/utils.rb
CHANGED
@@ -15,12 +15,12 @@ module Bake
|
|
15
15
|
s = ""
|
16
16
|
|
17
17
|
str.split("").each do |i|
|
18
|
-
hasDoubleQuote = !hasDoubleQuote if !hasQuote
|
19
|
-
hasQuote = !hasQuote if !hasDoubleQuote
|
20
|
-
hadQuote = true if hasDoubleQuote
|
18
|
+
hasDoubleQuote = !hasDoubleQuote if !hasQuote && i == '"'
|
19
|
+
hasQuote = !hasQuote if !hasDoubleQuote && i == '\''
|
20
|
+
hadQuote = true if hasDoubleQuote || hasQuote
|
21
21
|
if i == ' '
|
22
|
-
if
|
23
|
-
if hadQuote
|
22
|
+
if !hasDoubleQuote && !hasQuote
|
23
|
+
if hadQuote && removeQuotes
|
24
24
|
ar << s[1..-2] if s.length > 2
|
25
25
|
hadQuote = false
|
26
26
|
else
|
@@ -32,7 +32,11 @@ module Bake
|
|
32
32
|
end
|
33
33
|
s << i
|
34
34
|
end
|
35
|
-
|
35
|
+
if !hasDoubleQuote && !hasQuote && hadQuote && removeQuotes
|
36
|
+
ar << s[1..-2] if s.length > 2
|
37
|
+
elsif s.length > 0
|
38
|
+
ar << s
|
39
|
+
end
|
36
40
|
ar
|
37
41
|
end
|
38
42
|
|
data/lib/common/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bake-toolkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.38.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Schaal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rtext
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: rspec
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|