bake-toolkit 2.10.3 → 2.11.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/doc/further/change.html +8 -0
- data/doc/index.html +1 -1
- data/doc/syntax/syntax.html +11 -1
- data/lib/bake/config/loader.rb +7 -0
- data/lib/bake/model/metamodel.rb +2 -0
- data/lib/blocks/block.rb +9 -1
- data/lib/blocks/blockBase.rb +1 -2
- data/lib/blocks/compile.rb +47 -2
- data/lib/blocks/convert.rb +4 -0
- data/lib/blocks/makefile.rb +2 -1
- data/lib/common/version.rb +1 -1
- data/lib/tocxx.rb +34 -11
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a06224eab0b59f7915bdd8ebeb389470f8261a4a
|
|
4
|
+
data.tar.gz: f57931da0df7084b81af5db918a826c2b3c146ba
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 96214b36c6587ae06530ec7f6670e42460092fc913916a8982645f4fdce06db0c40c3da7d095f6389308cdb03fd28df13e7a58d1242b161745074aeb36e2b02a
|
|
7
|
+
data.tar.gz: 1619512c3c3e6260487069944b32218e7e0792bdb3f70c29f4b25de354bcd07af79c2545ef92e9fe2ee5889ad235c3a09be6f2ed8be4eeff55babd95205a4fd0
|
data/doc/further/change.html
CHANGED
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
<body>
|
|
8
8
|
<h1>Changelog</h1>
|
|
9
9
|
|
|
10
|
+
July 31, 2015 - bake-toolkit 2.11.0<br>
|
|
11
|
+
<ul>
|
|
12
|
+
<li><b>Added: new parameters for <i>includeDir</i>: <i>inherit</i> and <i>infix</i></b>
|
|
13
|
+
<li><b>Added: dependency output for conversion tool</b>
|
|
14
|
+
<li><b>Bugfix: makefile flags where not used when cleaning the workspace</b>
|
|
15
|
+
</ul>
|
|
16
|
+
|
|
17
|
+
|
|
10
18
|
July 6, 2015 - bake-toolkit 2.10.3<br>
|
|
11
19
|
<ul>
|
|
12
20
|
<li><b>Bugfix: Build stopped unintentionally when using -r</b>
|
data/doc/index.html
CHANGED
|
@@ -74,7 +74,7 @@ bake is used to build software <font color="#009900"><b>fast</b></font> and <fon
|
|
|
74
74
|
|
|
75
75
|
<p>
|
|
76
76
|
<hr>
|
|
77
|
-
<table width="100%" border="0"><tr><td align="left">Described bake-toolkit version: 2.
|
|
77
|
+
<table width="100%" border="0"><tr><td align="left">Described bake-toolkit version: 2.11.0</td><td align="right">July 31, 2015</td></tr></table>
|
|
78
78
|
|
|
79
79
|
</body>
|
|
80
80
|
|
data/doc/syntax/syntax.html
CHANGED
|
@@ -163,7 +163,7 @@ z-index: 100;
|
|
|
163
163
|
<span class="help" onMouseover="showFilesDefine()" onMouseout="notip()">Define</span> <define><br>
|
|
164
164
|
}<br>
|
|
165
165
|
<span class="help" onMouseover="showExcludeFiles()" onMouseout="notip()">ExcludeFiles</span> <pattern><br>
|
|
166
|
-
<span class="help" onMouseover="showIncludeDir()" onMouseout="notip()">IncludeDir</span> <dir>
|
|
166
|
+
<span class="help" onMouseover="showIncludeDir()" onMouseout="notip()">IncludeDir</span> <dir>, <span class="help" onMouseover="showInherit()" onMouseout="notip()">inherit</span>: true|false, <span class="help" onMouseover="showInfix()" onMouseout="notip()">infix</span>: front|back<br>
|
|
167
167
|
|
|
168
168
|
</span><br></span>
|
|
169
169
|
|
|
@@ -465,6 +465,16 @@ function showIncludeDir() {
|
|
|
465
465
|
ddrivetip("IncludeDir", "No","0..n","-",str)
|
|
466
466
|
}
|
|
467
467
|
|
|
468
|
+
function showInherit() {
|
|
469
|
+
str = 'Inherits the include to all projects, which depend on this project.'
|
|
470
|
+
ddrivetip("inherit", "No","0..1","false",str)
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
function showInfix() {
|
|
474
|
+
str = 'Injects the include path to all childs, either at the front (e.g. for mocking code) or at the end.'
|
|
475
|
+
ddrivetip("infix", "No","0..1","-",str)
|
|
476
|
+
}
|
|
477
|
+
|
|
468
478
|
function showSet() {
|
|
469
479
|
str = 'Sets a variable for this and all dependent projects.<br>'+
|
|
470
480
|
'The variable can be a simple value or the result of a cmd, e.g. \"cat myVar.txt\".'
|
data/lib/bake/config/loader.rb
CHANGED
|
@@ -88,6 +88,13 @@ module Bake
|
|
|
88
88
|
end
|
|
89
89
|
end
|
|
90
90
|
end
|
|
91
|
+
|
|
92
|
+
config.includeDir.each do |inc|
|
|
93
|
+
if not ["front", "back", ""].include?inc.infix
|
|
94
|
+
Bake.formatter.printError("infix of IncludeDir must be 'front' or 'back'", inc)
|
|
95
|
+
ExitHelper.exit(1)
|
|
96
|
+
end
|
|
97
|
+
end if config.respond_to?("includeDir")
|
|
91
98
|
end
|
|
92
99
|
configs
|
|
93
100
|
end
|
data/lib/bake/model/metamodel.rb
CHANGED
|
@@ -122,6 +122,8 @@ module Bake
|
|
|
122
122
|
|
|
123
123
|
class IncludeDir < ModelElement
|
|
124
124
|
has_attr 'name', String, :defaultValueLiteral => ""
|
|
125
|
+
has_attr 'infix', String, :defaultValueLiteral => ""
|
|
126
|
+
has_attr 'inherit', Boolean, :defaultValueLiteral => "false"
|
|
125
127
|
end
|
|
126
128
|
|
|
127
129
|
class ExternalLibrary < ModelElement
|
data/lib/blocks/block.rb
CHANGED
|
@@ -15,7 +15,7 @@ module Bake
|
|
|
15
15
|
|
|
16
16
|
class Block
|
|
17
17
|
|
|
18
|
-
attr_reader :lib_elements, :projectDir, :library, :config
|
|
18
|
+
attr_reader :lib_elements, :projectDir, :library, :config, :projectName
|
|
19
19
|
attr_accessor :visited, :inDeps, :result
|
|
20
20
|
|
|
21
21
|
def startupSteps
|
|
@@ -41,7 +41,15 @@ module Bake
|
|
|
41
41
|
def dependencies
|
|
42
42
|
@dependencies ||= []
|
|
43
43
|
end
|
|
44
|
+
|
|
45
|
+
def childs
|
|
46
|
+
@childs ||= []
|
|
47
|
+
end
|
|
44
48
|
|
|
49
|
+
def parents
|
|
50
|
+
@parents ||= []
|
|
51
|
+
end
|
|
52
|
+
|
|
45
53
|
def set_library(library)
|
|
46
54
|
@library = library
|
|
47
55
|
end
|
data/lib/blocks/blockBase.rb
CHANGED
|
@@ -56,8 +56,7 @@ module Bake
|
|
|
56
56
|
cmdTime = File.mtime(cmdLineFile)
|
|
57
57
|
return "because config file has been changed" if cmdTime < File.mtime(@config.file_name)
|
|
58
58
|
return "because DefaultToolchain has been changed" if cmdTime < defaultToolchainTime
|
|
59
|
-
return "because
|
|
60
|
-
false
|
|
59
|
+
return "because command line has been changed (IncludeDir inherit/infix, environment variables, ...)"
|
|
61
60
|
end
|
|
62
61
|
|
|
63
62
|
def self.isCmdLineEqual?(cmd, cmdLineFile)
|
data/lib/blocks/compile.rb
CHANGED
|
@@ -119,6 +119,7 @@ module Bake
|
|
|
119
119
|
reason = needed?(source, object, type, dep_filename_conv)
|
|
120
120
|
if not reason
|
|
121
121
|
cmdLineCheck = true
|
|
122
|
+
# currently this returns always != nil
|
|
122
123
|
reason = config_changed?(cmdLineFile)
|
|
123
124
|
end
|
|
124
125
|
return true unless reason
|
|
@@ -402,10 +403,54 @@ module Bake
|
|
|
402
403
|
|
|
403
404
|
end
|
|
404
405
|
|
|
406
|
+
def getSubBlocks(b, method)
|
|
407
|
+
b.send(method).each do |child_b|
|
|
408
|
+
if not @otherBlocks.include?child_b
|
|
409
|
+
@otherBlocks << child_b
|
|
410
|
+
getSubBlocks(child_b, method)
|
|
411
|
+
end
|
|
412
|
+
end
|
|
413
|
+
end
|
|
414
|
+
|
|
415
|
+
def getBlocks(method)
|
|
416
|
+
@otherBlocks = []
|
|
417
|
+
getSubBlocks(@block, method)
|
|
418
|
+
return @otherBlocks
|
|
419
|
+
end
|
|
420
|
+
|
|
421
|
+
def mapInclude(inc, projDir)
|
|
422
|
+
(inc.name == "___ROOTS___") ? (Bake.options.roots.map { |r| File.rel_from_to_project(projDir,r,false) }) : @block.convPath(inc)
|
|
423
|
+
end
|
|
424
|
+
|
|
405
425
|
def calcIncludes
|
|
426
|
+
|
|
406
427
|
@include_list = @config.includeDir.uniq.map do |dir|
|
|
407
|
-
(dir
|
|
408
|
-
end
|
|
428
|
+
mapInclude(dir, @projectDir)
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
getBlocks(:childs).each do |b|
|
|
432
|
+
b.config.includeDir.each do |inc|
|
|
433
|
+
if inc.inherit == true
|
|
434
|
+
@include_list << mapInclude(inc, b.config.parent.get_project_dir)
|
|
435
|
+
end
|
|
436
|
+
end if b.config.respond_to?("includeDir")
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
getBlocks(:parents).each do |b|
|
|
440
|
+
if b.config.respond_to?("includeDir")
|
|
441
|
+
include_list_front = []
|
|
442
|
+
b.config.includeDir.each do |inc|
|
|
443
|
+
if inc.infix == "front"
|
|
444
|
+
include_list_front << mapInclude(inc, b.config.parent.get_project_dir)
|
|
445
|
+
elsif inc.infix == "back"
|
|
446
|
+
@include_list << mapInclude(inc, b.config.parent.get_project_dir)
|
|
447
|
+
end
|
|
448
|
+
end
|
|
449
|
+
@include_list = include_list_front + @include_list
|
|
450
|
+
end
|
|
451
|
+
end
|
|
452
|
+
|
|
453
|
+
@include_list = @include_list.flatten.uniq
|
|
409
454
|
|
|
410
455
|
@include_array = {}
|
|
411
456
|
[:CPP, :C, :ASM].each do |type|
|
data/lib/blocks/convert.rb
CHANGED
|
@@ -21,6 +21,10 @@ module Bake
|
|
|
21
21
|
@include_list.each { |s| puts " #{s}" }
|
|
22
22
|
puts " BAKE_DEFINES"
|
|
23
23
|
(@tcs[:COMPILER][:CPP][:DEFINES] + @tcs[:COMPILER][:C][:DEFINES] + @tcs[:COMPILER][:ASM][:DEFINES]).uniq.each { |s| puts " #{s}" }
|
|
24
|
+
puts " BAKE_DEPENDENCIES"
|
|
25
|
+
@block.childs.each { |dep| puts " #{dep.projectName}" }
|
|
26
|
+
puts " BAKE_DEPENDENCIES_FILTERED"
|
|
27
|
+
@block.childs.each { |dep| puts " #{dep.projectName}" unless @projectName == dep.projectName or dep.projectName == "gmock" or dep.projectName == "gtest" }
|
|
24
28
|
puts "END_INFO"
|
|
25
29
|
end
|
|
26
30
|
return true
|
data/lib/blocks/makefile.rb
CHANGED
data/lib/common/version.rb
CHANGED
data/lib/tocxx.rb
CHANGED
|
@@ -91,24 +91,47 @@ module Bake
|
|
|
91
91
|
end if configSteps
|
|
92
92
|
end
|
|
93
93
|
|
|
94
|
-
def addDependencies(block,
|
|
95
|
-
|
|
96
|
-
@loadedConfig.referencedConfigs[dep.name].each do |
|
|
97
|
-
if
|
|
98
|
-
block.dependencies <<
|
|
94
|
+
def addDependencies(block, config)
|
|
95
|
+
config.dependency.each do |dep|
|
|
96
|
+
@loadedConfig.referencedConfigs[dep.name].each do |configRef|
|
|
97
|
+
if configRef.name == dep.config
|
|
98
|
+
block.dependencies << configRef.qname if not Bake.options.project# and not Bake.options.filename
|
|
99
|
+
blockRef = Blocks::ALL_BLOCKS[configRef.qname]
|
|
100
|
+
block.childs << blockRef
|
|
101
|
+
blockRef.parents << block
|
|
99
102
|
break
|
|
100
103
|
end
|
|
101
104
|
end
|
|
102
105
|
end
|
|
103
106
|
end
|
|
104
107
|
|
|
105
|
-
def
|
|
108
|
+
def makeBlocks
|
|
106
109
|
@loadedConfig.referencedConfigs.each do |projName, configs|
|
|
107
110
|
configs.each do |config|
|
|
108
|
-
|
|
109
111
|
block = Blocks::Block.new(config, @loadedConfig.referencedConfigs)
|
|
110
|
-
|
|
111
112
|
Blocks::ALL_BLOCKS[config.qname] = block
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def makeGraph
|
|
118
|
+
@loadedConfig.referencedConfigs.each do |projName, configs|
|
|
119
|
+
configs.each do |config|
|
|
120
|
+
block = Blocks::ALL_BLOCKS[config.qname]
|
|
121
|
+
addDependencies(block, config)
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
Blocks::ALL_BLOCKS.each do |name,block|
|
|
125
|
+
block.dependencies.uniq!
|
|
126
|
+
block.childs.uniq!
|
|
127
|
+
block.parents.uniq!
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def convert2bb
|
|
132
|
+
@loadedConfig.referencedConfigs.each do |projName, configs|
|
|
133
|
+
configs.each do |config|
|
|
134
|
+
block = Blocks::ALL_BLOCKS[config.qname]
|
|
112
135
|
|
|
113
136
|
addSteps(block, block.startupSteps, config.startupSteps)
|
|
114
137
|
addSteps(block, block.exitSteps, config.exitSteps)
|
|
@@ -141,9 +164,7 @@ module Bake
|
|
|
141
164
|
end
|
|
142
165
|
end
|
|
143
166
|
|
|
144
|
-
|
|
145
|
-
addDependencies(block, config.dependency)
|
|
146
|
-
end
|
|
167
|
+
|
|
147
168
|
|
|
148
169
|
end
|
|
149
170
|
end
|
|
@@ -284,6 +305,8 @@ module Bake
|
|
|
284
305
|
|
|
285
306
|
@@linkBlock = 0
|
|
286
307
|
|
|
308
|
+
makeBlocks
|
|
309
|
+
makeGraph
|
|
287
310
|
convert2bb
|
|
288
311
|
|
|
289
312
|
Blocks::Show.includes if Bake.options.show_includes
|
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.11.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: 2015-07-
|
|
11
|
+
date: 2015-07-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rtext
|