bake-toolkit 2.1.1 → 2.2.2

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 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