bake-toolkit 2.1.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5ccf64f455c7e095dbf18e10f1c4d05fbdb0d448
4
- data.tar.gz: a3a1547e16512c088860845026705e2ccd9b78e2
3
+ metadata.gz: 3204adfeb6e87ba1ad87e217e3a873c81e9b21db
4
+ data.tar.gz: 69d5e65f7a40485d903eb5440ea7890842bef298
5
5
  SHA512:
6
- metadata.gz: aa91172b62ecfec956a919dd0cb739d1c4a4232ad0799cc966c1fea7f1f785e579b7169e9c390b1927183b3ec71cee0628dd42550204ed10db75ffab9ef80708
7
- data.tar.gz: 7a5f55008fa6edd039f0a5df8c4eb2564e9326ebc73090bc18b579b16a79d2c69fe2730cf2d0f123b72538012946272481b5d0cfdf4ea6fb07c37ddd42418509
6
+ metadata.gz: 4dcccbf9cd13df565e27c6044cf10558945b79b6631e93d9ae37471a114daab40e3349d0d31ba478d1bf6017d394e15c9b7dd5038a14fca5ed9aedf22e63cfb3
7
+ data.tar.gz: c9b1a7423f45820a1ffc68be7b12cd16038a4faedae204f57127252de1af0c8754c16f93ef52649d439117eac0251ec32413ed19cc273bb563ca60365d534166
@@ -1,2 +1,2 @@
1
- scp -r "./" "aschaal@esrlabs.com:/var/www/esrlabs/wordpress2/gems/doc/bake-toolkit/"
1
+ scp -P 31953 -r "./" "aschaal@173.230.139.188:/srv/www/esrlabs.com/wordpress/gems/doc/bake-toolkit/"
2
2
  pause
@@ -7,9 +7,20 @@
7
7
  <body>
8
8
  <h1>Changelog</h1>
9
9
 
10
+ February 19, 2015 - bake-toolkit 2.2.2<br>
11
+ <ul>
12
+ <li><b>Changed: output dirs are now prefixed with "build_" per default</b>
13
+ <li><b>Changed: introduced complex variable $(OutputDir,projectName,configName)</b>
14
+ <li><b>Changed: reworked merge strategy of two configs, especially toolchain options</b>
15
+ <li><b>Added: variables can be nested now</b>
16
+ <li><b>Bugfix: fixed dependency header check for Unix when running Windows on a virtual machine</b>
17
+ <li><b>Bugfix: variable OutputDir did not take overwritten output directory from toolchain into account</b>
18
+ <li><b>Cosmetic: do not show internal pipes anymore when printing command lines</b>
19
+ </ul>
20
+
10
21
  January 26, 2015 - bake-toolkit 2.1.1<br>
11
22
  <ul>
12
- <li><b>Bugfix: dependent header file check in 2.1.0 were broken</b>
23
+ <li><b>Bugfix: dependent header file check in 2.1.0 was broken</b>
13
24
  <li><b>Changed: files defined via glob pattern are sorted alphabetically now</b>
14
25
  </ul>
15
26
 
@@ -72,7 +72,7 @@ bake is used to build software <font color="#009900"><b>fast</b></font> and <fon
72
72
 
73
73
  <p>
74
74
  <hr>
75
- <table width="100%" border="0"><tr><td align="left">Described bake-toolkit version: 2.1.1</td><td align="right">January 26, 2015</td></tr></table>
75
+ <table width="100%" border="0"><tr><td align="left">Described bake-toolkit version: 2.2.2</td><td align="right">February 19, 2015</td></tr></table>
76
76
 
77
77
  </body>
78
78
 
@@ -21,16 +21,16 @@ A config can be derived from another config in Project.meta like this:
21
21
  The config type of the parent config does not matter, but only settings which are valid in BOTH configs will be inherited.<br>
22
22
  In the example above D gets the dependencies from A, because "Dependency" is valid in all configs, but D does not get the "Files" from A, because "Files" is not valid in CustomConfig.
23
23
  <p>
24
- The following listing shows HOW settings will be derived:
24
+ The following listing shows how settings will be derived (toolchains below):
25
25
 
26
26
  <table border="1">
27
27
  <tr><th bgcolor="#CCCCCC">Setting</th><th bgcolor="#CCCCCC">Derived</th></tr>
28
- <tr><td>Dependency</td> <td>parent + child, existing dependencies will be replaced</td></tr>
29
- <tr><td>ExternalLibrary<br>ExternalLibrarySearchPath<br>UserLibrary</td> <td>parent + child (ordered by line number!)</td></tr>
28
+ <tr><td>Set</td> <td>parent + child</td></tr>
29
+ <tr><td>Dependency</td> <td>parent + child</td></tr>
30
+ <tr><td>ExternalLibrary<br>ExternalLibrarySearchPath<br>UserLibrary</td> <td>parent + child<br>(ordered by line number!)</td></tr>
30
31
  <tr><td>PreSteps</td> <td>parent + child</td></tr>
31
32
  <tr><td>PostSteps</td> <td>parent + child</td></tr>
32
- <tr><td>Toolchain<br>DefaultToolchain</td> <td>Compiler, Archiver and Linker settings used from parent<br>if not existing in child - see below</td></tr>
33
- <tr><td>Makefile/CommandLine<br>(in CustomConfig)</td> <td>used from parent if not in child</td></tr>
33
+ <tr><td>Makefile<br>CommandLine<br>(in CustomConfig)</td> <td>used from parent if not in child</td></tr>
34
34
  <tr><td>Files</td> <td>parent + child</td></tr>
35
35
  <tr><td>ExcludeFiles</td> <td>parent + child</td></tr>
36
36
  <tr><td>IncludeDir</td> <td>parent + child</td></tr>
@@ -38,73 +38,20 @@ The following listing shows HOW settings will be derived:
38
38
  <tr><td>ArtifactName</td> <td>used from parent if not in child</td></tr>
39
39
  <tr><td>MapFile</td> <td>used from parent if not in child</td></tr>
40
40
  </table>
41
- <br>
42
- <h3>Example for deriving toolchains:</h3>
43
-
44
- <pre id="rundrum"><code>ExecutableConfig A {
45
- Toolchain {
46
- Compiler CPP {
47
- Define "DefA"
48
- }
49
- Linker {
50
- Flags "-O3"
51
- }
52
- }
53
- }
54
-
55
- ExecutableConfig B, extends: A {
56
- Toolchain {
57
- Compiler CPP {
58
- Define "DefB1"
59
- }
60
- Compiler ASM {
61
- Define "DefB2"
62
- }
63
- Archiver {
64
- Flags "-B"
65
- }
66
- }
67
- }</code></pre>
68
-
69
- B derives from A, but B redefines Compiler CPP, therefore "DefA" will not be defined in B. But the toolchain of B does not include a Linker tag, therefore the Linker will be inherited.<br>
70
- The toolchain of B is treated like this:
71
-
72
- <pre id="rundrum"><code>Toolchain {
73
- Compiler CPP {
74
- Define "DefB1"
75
- }
76
- Compiler ASM {
77
- Define "DefB2"
78
- }
79
- Archiver {
80
- Flags "-B"
81
- }
82
- Linker {
83
- Flags "-O3"
84
- }
85
- }</code></pre>
86
-
87
- <h3>Example for deriving dependencies:</h3>
88
-
89
- <pre id="rundrum"><code>ExecutableConfig A {
90
- Dependency Sub1, config s1
91
- Dependency Sub2, config s2
92
- Dependency Sub3, config s3
93
- }
94
-
95
- ExecutableConfig B, extends: A {
96
- Dependency Sub4, config s4
97
- Dependency Sub1, config sOther
98
- Dependency Sub5, config s5
99
- }</code></pre>
100
-
101
- The dependencies of B will be treated like this:
41
+ <p>
102
42
 
103
- <pre id="rundrum"><code>Dependency Sub1, config sOther
104
- Dependency Sub2, config s2
105
- Dependency Sub3, config s3
106
- Dependency Sub4, config s4
107
- Dependency Sub5, config s5</code></pre>
43
+ <table border="1">
44
+ <tr><th bgcolor="#CCCCCC">(Default)Toolchain<br>Setting</th><th bgcolor="#CCCCCC">Derived</th></tr>
45
+ <tr><td>basedOn</td> <td>used from parent if not in child</td></tr>
46
+ <tr><td>outputDir</td> <td>used from parent if not in child</td></tr>
47
+ <tr><td>command</td> <td>used from parent if not in child</td></tr>
48
+ <tr><td>LibPrefixFlags<br>LibPostfixFlags<br>Flags</td> <td>parent + child</td></tr>
49
+ <tr><td>Define</td> <td>parent + child</td></tr>
50
+ <tr><td>InternalDefines<br>InternalIncludes<br>(in CustomConfig)</td> <td>used from parent if not in child</td></tr>
51
+ <tr><td>LintPolicy</td> <td>parent + child</td></tr>
52
+ <tr><td>Docu</td> <td>used from parent if not in child</td></tr>
53
+ </table>
54
+ <br>
108
55
 
109
56
  </body>
110
57
 
@@ -36,7 +36,8 @@ bake includes also some standard variables:
36
36
  <tr><td>$(ProjectName)</td> <td>canDriver</td></tr>
37
37
  <tr><td>$(ProjectDir)</td> <td>C:/Root/MyProject</td></tr>
38
38
  <tr><td>$(MainProjectDir)</td> <td>C:/Root/Main</td></tr>
39
- <tr><td>$(OutputDir)</td> <td>Debug_bootloader</td></tr>
39
+ <tr><td>$(OutputDir)</td> <td>build_lib_bootloader_Debug<br><i>output dir of the current config</i></td></tr>
40
+ <tr><td>$(OutputDir,<i>projName</i>,<i>confName</i>)</td> <td><i>output dir of a specific config<br>relative to the current project</i></td></tr>
40
41
  <tr><td>$(ArtifactName)</td> <td>bootloader_1.0.elf</td></tr>
41
42
  <tr><td>$(ArtifactNameBase)</td> <td>bootloader_1.0</td></tr>
42
43
  <tr><td>$(Time)</td> <td>2012-12-24 20:00:00 +0200</td></tr>
@@ -69,21 +70,19 @@ If the environment variable does not exist, it will be substituted by an empty s
69
70
  <p>
70
71
  Note, that variables in <b>Dependency</b> definitions are not allowed.
71
72
 
72
- <h3>Equal variables</h3>
73
+ <h3>Equal variables in the main config</h3>
73
74
 
74
- <h4>In main project</h4>
75
75
  <table border="1">
76
76
  <tr><th bgcolor="#CCCCCC">Variable</th><th bgcolor="#CCCCCC">is equal to</th></tr>
77
77
  <tr><td>$(MainConfigName)</td> <td>$(ConfigName)</td></tr>
78
78
  <tr><td>$(MainProjectName)</td> <td>$(ProjectName)</td></tr>
79
- <tr><td>$(OutputDir)</td> <td>$(MainConfigName)</td></tr>
80
79
  </table>
81
80
 
82
- <h4>In subproject</h4>
83
- <table border="1">
84
- <tr><th bgcolor="#CCCCCC">Variable</th><th bgcolor="#CCCCCC">is equal to</th></tr>
85
- <tr><td>$(OutputDir)</td> <td>$(ConfigName)_$(MainProjectName)_$(MainConfigName)</td></tr>
86
- </table>
81
+ <h3>Nested variables</h3>
82
+
83
+ Variables can be nested like this:
84
+ <pre id="rundrum"><code>$(OutputDir,$(TheProject),$(TheConfig))
85
+ $(ABC$(DEF)GH)</code></pre>
87
86
 
88
87
  <h3>Auto-adjustment of paths to existing projects</h3>
89
88
 
@@ -7,18 +7,68 @@ module Bake
7
7
  @parent = parent
8
8
  end
9
9
 
10
- def mergeToolchain(pt,ct)
10
+ def mergeToolchain(pt,ct, isDefault)
11
11
  pt.compiler.each do |pc|
12
- if ct.compiler.none?{|cc| cc.ctype == pc.ctype}
13
- ct.addCompiler(pc)
12
+ found = false
13
+ ct.compiler.each do |cc|
14
+ if cc.ctype == pc.ctype
15
+ found = true
16
+ cc.setFlags(pc.flags + cc.flags)
17
+ cc.setDefine(pc.define + cc.define)
18
+ if cc.internalDefines.nil? and not pc.internalDefines.nil?
19
+ cc.setInternalDefines(pc.internalDefines)
20
+ end
21
+ if cc.command == "" and pc.command != ""
22
+ cc.setCommand(pc.command)
23
+ end
24
+ end
14
25
  end
26
+ ct.addCompiler(pc) if not found
15
27
  end
16
- if ct.archiver.nil? and not pt.archiver.nil?
17
- ct.setArchiver(pt.archiver)
28
+
29
+ if not pt.archiver.nil?
30
+ if (ct.archiver.nil?)
31
+ ct.setArchiver(pt.archiver)
32
+ else
33
+ if ct.archiver.command == "" and pt.archiver.command != ""
34
+ ct.archiver.setCommand(pt.archiver.command)
35
+ end
36
+ ct.archiver.setFlags(pt.archiver.flags + ct.archiver.flags)
37
+ end
38
+ end
39
+
40
+ if not pt.linker.nil?
41
+ if (ct.linker.nil?)
42
+ ct.setLinker(pt.linker)
43
+ else
44
+ if ct.linker.command == "" and pt.linker.command != ""
45
+ ct.linker.setCommand(pt.linker.command)
46
+ end
47
+ ct.linker.setFlags(pt.linker.flags + ct.linker.flags)
48
+ ct.linker.setLibprefixflags(pt.linker.libprefixflags + ct.linker.libprefixflags)
49
+ ct.linker.setLibpostfixflags(pt.linker.libpostfixflags + ct.linker.libpostfixflags)
50
+ end
51
+ end
52
+
53
+ if ct.outputDir == "" and pt.outputDir != ""
54
+ ct.setOutputDir(pt.outputDir)
55
+ end
56
+
57
+ if ct.docu.nil? and not pt.docu.nil?
58
+ ct.setDocu(pt.docu)
18
59
  end
19
- if ct.linker.nil? and not pt.linker.nil?
20
- ct.setLinker(pt.linker)
60
+
61
+ ct.setLintPolicy(pt.lintPolicy + ct.lintPolicy)
62
+
63
+ if (isDefault)
64
+ if ct.basedOn == "" and pt.basedOn != ""
65
+ ct.setBasedOn(pt.basedOn)
66
+ end
67
+ if ct.internalIncludes.nil? and not pt.internalIncludes.nil?
68
+ ct.setInternalIncludes(pt.internalIncludes)
69
+ end
21
70
  end
71
+
22
72
  end
23
73
 
24
74
  def manipulateLineNumbers(ar)
@@ -31,15 +81,7 @@ module Bake
31
81
 
32
82
  deps = @parent.dependency
33
83
  @child.dependency.each do |cd|
34
- overwrite = false
35
- deps.each do |pd|
36
- if pd.name == cd.name
37
- pd.config = cd.config
38
- overwrite = true
39
- break
40
- end
41
- end
42
- deps << cd if not overwrite
84
+ deps << cd if deps.none? {|pd| pd.name == cd.name and pd.config == cd.config }
43
85
  end
44
86
  @child.setDependency(deps)
45
87
 
@@ -76,7 +118,18 @@ module Bake
76
118
  if (ct.nil?)
77
119
  @child.setDefaultToolchain(pt)
78
120
  else
79
- mergeToolchain(pt,ct)
121
+ mergeToolchain(pt,ct,true)
122
+ end
123
+ end
124
+
125
+ pt = @parent.toolchain
126
+ ct = @child.toolchain
127
+
128
+ if not pt.nil?
129
+ if (ct.nil?)
130
+ @child.setToolchain(pt)
131
+ else
132
+ mergeToolchain(pt,ct,false)
80
133
  end
81
134
  end
82
135
 
@@ -89,22 +142,9 @@ module Bake
89
142
  # Valid for library and exe config
90
143
 
91
144
  if ((Metamodel::LibraryConfig === @child || Metamodel::ExecutableConfig === @child) && (Metamodel::LibraryConfig === @parent || Metamodel::ExecutableConfig === @parent))
92
-
93
- @child.setFiles(@parent.files + @child.files)
145
+ @child.setFiles(@parent.files + @child.files)
94
146
  @child.setExcludeFiles(@parent.excludeFiles + @child.excludeFiles)
95
- @child.setIncludeDir(@parent.includeDir + @child.includeDir)
96
-
97
- pt = @parent.toolchain
98
- ct = @child.toolchain
99
-
100
- if not pt.nil?
101
- if (ct.nil?)
102
- @child.setToolchain(pt)
103
- else
104
- mergeToolchain(pt,ct)
105
- end
106
- end
107
-
147
+ @child.setIncludeDir(@parent.includeDir + @child.includeDir)
108
148
  end
109
149
 
110
150
  # Valid for exe config
@@ -112,7 +152,7 @@ module Bake
112
152
  if (Metamodel::ExecutableConfig === @child && Metamodel::ExecutableConfig === @parent)
113
153
  @child.setLinkerScript(@parent.linkerScript) if @child.linkerScript.nil? and not @parent.linkerScript.nil?
114
154
  @child.setArtifactName(@parent.artifactName) if @child.artifactName.nil? and not @parent.artifactName.nil?
115
- @child.setMapFile(@parent.mapFile) if @child.mapFile.nil? and not @parent.mapFile.nil?
155
+ @child.setMapFile(@parent.mapFile) if @child.mapFile.nil? and not @parent.mapFile.nil?
116
156
  end
117
157
 
118
158
  end
@@ -1,3 +1,5 @@
1
+ require 'pathname'
2
+
1
3
  module Bake
2
4
 
3
5
  class Subst
@@ -35,10 +37,12 @@ module Bake
35
37
  @@lazy = false
36
38
  end
37
39
 
38
- def self.itute(config, projName, isMainProj, toolchain)
40
+ def self.itute(config, projName, isMainProj, toolchain, loadedConfig, configTcMap)
39
41
  @@lazy = true
40
42
  @@config = config
41
43
  @@toolchain = toolchain
44
+ @@loadedConfig = loadedConfig
45
+ @@configTcMap = configTcMap
42
46
 
43
47
  @@configName = config.name
44
48
  @@projDir = config.parent.get_project_dir
@@ -127,11 +131,24 @@ module Bake
127
131
  break if posStart.nil?
128
132
  posEnd = str.index(")", posStart)
129
133
  break if posEnd.nil?
134
+ posStartSub = str.index("$(", posStart+1)
135
+ if (not posStartSub.nil? and posStartSub < posEnd) # = nested vars
136
+ newStr = str[0,posStartSub] + substString(str[posStartSub..posEnd],elem)
137
+ if (str.length + 1 > posEnd)
138
+ str = newStr + str[posEnd+1..-1]
139
+ else
140
+ str = newStr
141
+ end
142
+ next
143
+ end
144
+
130
145
  substStr << str[posSubst..posStart-1] if posStart>0
131
146
 
132
147
  @@resolvedVars += 1
133
148
  var = str[posStart+2..posEnd-1]
134
149
 
150
+ splittedVar = var.split(",")
151
+
135
152
  if Bake.options.vars.has_key?(var)
136
153
  substStr << Bake.options.vars[var]
137
154
  elsif @@userVarMap.has_key?(var)
@@ -148,11 +165,53 @@ module Bake
148
165
  substStr << @@projName
149
166
  elsif var == "ProjectDir"
150
167
  substStr << @@projDir
151
- elsif var == "OutputDir"
152
- if @@projName == Bake.options.main_project_name
153
- substStr << Bake.options.build_config
168
+ elsif var == "OutputDir" or (splittedVar.length == 3 and splittedVar[0] == "OutputDir")
169
+ if (var == "OutputDir")
170
+ out_proj_name = @@projName
171
+ out_conf_name = @@configName
154
172
  else
155
- substStr << @@configName + "_" + Bake.options.main_project_name + "_" + Bake.options.build_config
173
+ out_proj_name = splittedVar[1].strip
174
+ out_conf_name = splittedVar[2].strip
175
+ end
176
+ if @@loadedConfig.referencedConfigs.has_key?out_proj_name
177
+ configs = @@loadedConfig.referencedConfigs[out_proj_name]
178
+ config = configs.select {|c| c.name == out_conf_name }.first
179
+ if config
180
+ out_dir = nil
181
+ if (config.toolchain and config.toolchain.outputDir and config.toolchain.outputDir != "")
182
+ out_dir = config.toolchain.outputDir
183
+ else
184
+ out_dir = @@configTcMap[config][:OUTPUT_DIR]
185
+ end
186
+ if not out_dir
187
+ if out_proj_name == Bake.options.main_project_name and out_conf_name == Bake.options.build_config
188
+ out_dir = "build_" + Bake.options.build_config
189
+ else
190
+ out_dir = "build_" + out_conf_name + "_" + Bake.options.main_project_name + "_" + Bake.options.build_config
191
+ end
192
+ end
193
+ out_dir = substString(out_dir, elem)
194
+ if File.is_absolute?(out_dir)
195
+ substStr << out_dir
196
+ else
197
+ substStr << Pathname.new(File.rel_from_to_project(@@projDir,config.get_project_dir,true) + out_dir).cleanpath.to_s
198
+ end
199
+ else
200
+ if Bake.options.verbose > 0
201
+ msg = "Substitute variable '$(#{var})' with empty string, because config #{out_conf_name} not found for project #{out_proj_name}"
202
+ Bake.formatter.printInfo(msg, elem ? elem : @@config)
203
+ end
204
+ end
205
+ else
206
+ if Bake.options.verbose > 0
207
+ msg = "Substitute variable '$(#{var})' with empty string, because project #{out_proj_name} not found"
208
+ Bake.formatter.printInfo(msg, elem ? elem : @@config)
209
+ end
210
+ end
211
+ elsif splittedVar.length > 1 and splittedVar[0] == "OutputDir"
212
+ if Bake.options.verbose > 0
213
+ msg = "Substitute variable '$(#{var})' with empty string, because syntax of complex variable OutputDir is not $(OutputDir,<project name>,<config name>)"
214
+ Bake.formatter.printInfo(msg, elem ? elem : @@config)
156
215
  end
157
216
  elsif var == "Time"
158
217
  substStr << Time.now.to_s
@@ -196,7 +255,6 @@ module Bake
196
255
  Bake.formatter.printInfo(msg + " in the toolchain", @@config)
197
256
  end
198
257
  end
199
- substStr << ""
200
258
  end
201
259
 
202
260
  posSubst = posEnd + 1
@@ -52,9 +52,9 @@ module Bake
52
52
  p = @block.convPath(@tcs[:OUTPUT_DIR])
53
53
  @output_dir = p
54
54
  elsif @projectName == Bake.options.main_project_name and @config.name == Bake.options.build_config
55
- @output_dir = Bake.options.build_config
55
+ @output_dir = "build_" + Bake.options.build_config
56
56
  else
57
- @output_dir = @config.name + "_" + Bake.options.main_project_name + "_" + Bake.options.build_config
57
+ @output_dir = "build_" + @config.name + "_" + Bake.options.main_project_name + "_" + Bake.options.build_config
58
58
  end
59
59
  end
60
60
 
@@ -51,7 +51,8 @@ module Bake
51
51
  # we need a hack here. with some windows configurations the compiler prints unix paths
52
52
  # into the dep file which cannot be found easily. this will be true for system includes,
53
53
  # e.g. /usr/lib/...xy.h
54
- if Bake::Utils::OS.windows? and dep.start_with?"/"
54
+ if (Bake::Utils::OS.windows? and dep.start_with?"/") or
55
+ (not Bake::Utils::OS.windows? and dep.length > 1 and dep[1] == ":")
55
56
  puts "Dependency header file #{dep} ignored!" if Bake.options.debug
56
57
  else
57
58
  return "because dependent header #{dep} does not exist"
@@ -7,9 +7,10 @@ module Bake
7
7
  def self.run(cmdLineArray, immediateOutput=false, force=true, outpipe=nil)
8
8
  rd, wr = IO.pipe
9
9
  @@rd = rd if force
10
- cmdLineArray << { :err=>wr, :out=>(outpipe ? outpipe : wr) }
10
+ duppedCmdLineArray = cmdLineArray.dup
11
+ duppedCmdLineArray << { :err=>wr, :out=>(outpipe ? outpipe : wr) }
11
12
  begin
12
- pid = spawn(*cmdLineArray)
13
+ pid = spawn(*duppedCmdLineArray)
13
14
  rescue Exception => e
14
15
  return [false, e.message]
15
16
  end
@@ -1,7 +1,7 @@
1
1
  module Bake
2
2
  class Version
3
3
  def self.number
4
- "2.1.1"
4
+ "2.2.2"
5
5
  end
6
6
  end
7
7
 
@@ -61,11 +61,11 @@ module Bake
61
61
  end
62
62
 
63
63
  def substVars
64
- Subst.itute(@mainConfig, Bake.options.main_project_name, true, @configTcMap[@mainConfig])
64
+ Subst.itute(@mainConfig, Bake.options.main_project_name, true, @configTcMap[@mainConfig], @loadedConfig, @configTcMap)
65
65
  @loadedConfig.referencedConfigs.each do |projName, configs|
66
66
  configs.each do |config|
67
67
  if config != @mainConfig
68
- Subst.itute(config, projName, false, @configTcMap[config])
68
+ Subst.itute(config, projName, false, @configTcMap[config], @loadedConfig, @configTcMap)
69
69
  end
70
70
  end
71
71
  end
@@ -93,7 +93,7 @@ module Bake
93
93
  end
94
94
  end
95
95
  end
96
-
96
+
97
97
  def convert2bb
98
98
  @loadedConfig.referencedConfigs.each do |projName, configs|
99
99
  configs.each do |config|
@@ -231,7 +231,6 @@ module Bake
231
231
  createBaseTcsForConfig
232
232
  substVars
233
233
  createTcsForConfig
234
-
235
234
  convert2bb
236
235
 
237
236
  Blocks::Show.includes if Bake.options.show_includes
@@ -278,7 +277,7 @@ module Bake
278
277
  Bake.formatter.printSuccess("\n#{taskType} done.")
279
278
  end
280
279
  rescue SystemExit
281
- Bake.formatter.printError("\n#{taskType} failed.")
280
+ Bake.formatter.printError("\n#{taskType} failed.") if ExitHelper.exit_code != 0
282
281
  end
283
282
 
284
283
  end
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.1.1
4
+ version: 2.2.2
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-01-26 00:00:00.000000000 Z
11
+ date: 2015-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rtext