bake-toolkit 2.20.4 → 2.21.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.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile.rb +3 -3
  3. data/bin/bake +46 -46
  4. data/bin/bake-doc +11 -11
  5. data/bin/bakery +179 -179
  6. data/bin/createVSProjects +213 -213
  7. data/documentation/_build/html/_sources/changelog.txt +456 -451
  8. data/documentation/_build/html/_sources/commandline/commandline.txt +107 -107
  9. data/documentation/_build/html/_sources/concepts/build_hierarchy.txt +34 -34
  10. data/documentation/_build/html/_sources/concepts/concepts.txt +14 -14
  11. data/documentation/_build/html/_sources/concepts/inject.txt +65 -65
  12. data/documentation/_build/html/_sources/concepts/link_order.txt +91 -91
  13. data/documentation/_build/html/_sources/concepts/prebuild.txt +56 -56
  14. data/documentation/_build/html/_sources/concepts/the_main_project.txt +45 -45
  15. data/documentation/_build/html/_sources/concepts/the_project_meta_file.txt +72 -72
  16. data/documentation/_build/html/_sources/ide/eclipse/eclipse.txt +25 -25
  17. data/documentation/_build/html/_sources/ide/eclipse/how_to_convert_existing_cdt_workspace.txt +31 -31
  18. data/documentation/_build/html/_sources/ide/eclipse/how_to_create_a_new_project_in_eclipse.txt +18 -18
  19. data/documentation/_build/html/_sources/ide/eclipse/how_to_create_a_workspace_in_eclipse.txt +27 -27
  20. data/documentation/_build/html/_sources/ide/eclipse/how_to_debug_in_eclipse.txt +38 -38
  21. data/documentation/_build/html/_sources/ide/eclipse/how_to_install_eclipse_plugin.txt +44 -44
  22. data/documentation/_build/html/_sources/ide/eclipse/how_to_use_bake_in_eclipse.txt +86 -86
  23. data/documentation/_build/html/_sources/ide/ide_integrations.txt +8 -8
  24. data/documentation/_build/html/_sources/ide/vs/how_to_create_vs_projects.txt +15 -15
  25. data/documentation/_build/html/_sources/ide/vs/how_to_debug_in_vs.txt +35 -35
  26. data/documentation/_build/html/_sources/ide/vs/how_to_used_bake_in_vs.txt +35 -35
  27. data/documentation/_build/html/_sources/ide/vs/vs.txt +10 -10
  28. data/documentation/_build/html/_sources/ide/vs/vs_install.txt +43 -43
  29. data/documentation/_build/html/_sources/index.txt +33 -33
  30. data/documentation/_build/html/_sources/install/install_bake.txt +112 -112
  31. data/documentation/_build/html/_sources/internal.txt +50 -50
  32. data/documentation/_build/html/_sources/known_issues.txt +9 -9
  33. data/documentation/_build/html/_sources/license.txt +4 -4
  34. data/documentation/_build/html/_sources/performance/performance.txt +104 -104
  35. data/documentation/_build/html/_sources/quickstart/quickstart.txt +70 -70
  36. data/documentation/_build/html/_sources/syntax/adapt_configs.txt +143 -143
  37. data/documentation/_build/html/_sources/syntax/auto_adjustment.txt +43 -43
  38. data/documentation/_build/html/_sources/syntax/derive_configs.txt +93 -94
  39. data/documentation/_build/html/_sources/syntax/project_meta_syntax.txt +19 -19
  40. data/documentation/_build/html/_sources/syntax/syntax.txt +11 -11
  41. data/documentation/_build/html/_sources/syntax/variable_substitutions.txt +147 -147
  42. data/documentation/_build/html/_sources/tips_and_tricks/dot.txt +34 -34
  43. data/documentation/_build/html/_sources/tips_and_tricks/how_to_use_bake_with_cygwin.txt +62 -62
  44. data/documentation/_build/html/_sources/tips_and_tricks/static_code_analysis.txt +122 -122
  45. data/documentation/_build/html/_sources/tips_and_tricks/the_bakery.txt +72 -72
  46. data/documentation/_build/html/_sources/tips_and_tricks/the_clang.txt +43 -43
  47. data/documentation/_build/html/_sources/tips_and_tricks/tips_and_tricks.txt +34 -34
  48. data/documentation/_build/html/_sources/why_bake/why_bake.txt +40 -40
  49. data/documentation/_build/html/changelog.html +7 -0
  50. data/documentation/_build/html/commandline/commandline.html +2 -2
  51. data/documentation/_build/html/concepts/link_order.html +2 -2
  52. data/documentation/_build/html/concepts/prebuild.html +2 -2
  53. data/documentation/_build/html/index.html +4 -4
  54. data/documentation/_build/html/performance/performance.html +2 -2
  55. data/documentation/_build/html/searchindex.js +1 -1
  56. data/documentation/_build/html/syntax/adapt_configs.html +2 -2
  57. data/documentation/_build/html/syntax/syntax.html +2 -2
  58. data/documentation/_build/html/tips_and_tricks/the_clang.html +2 -2
  59. data/documentation/_build/html/why_bake/why_bake.html +2 -2
  60. data/lib/adapt/config/loader.rb +112 -112
  61. data/lib/bake/bundle.rb +158 -158
  62. data/lib/bake/cache.rb +179 -180
  63. data/lib/bake/config/checks.rb +68 -68
  64. data/lib/bake/config/loader.rb +363 -363
  65. data/lib/bake/libElement.rb +176 -176
  66. data/lib/bake/mergeConfig.rb +208 -208
  67. data/lib/bake/model/language.rb +45 -45
  68. data/lib/bake/model/loader.rb +99 -99
  69. data/lib/bake/model/metamodel.rb +307 -307
  70. data/lib/bake/model/metamodel_ext.rb +27 -27
  71. data/lib/bake/options/create.rb +95 -95
  72. data/lib/bake/options/options.rb +315 -310
  73. data/lib/bake/options/showDoc.rb +20 -20
  74. data/lib/bake/options/showLicense.rb +9 -9
  75. data/lib/bake/options/showToolchains.rb +38 -38
  76. data/lib/bake/options/usage.rb +79 -68
  77. data/lib/bake/subst.rb +313 -313
  78. data/lib/bake/toolchain/clang.rb +44 -44
  79. data/lib/bake/toolchain/clang_analyze.rb +31 -31
  80. data/lib/bake/toolchain/colorizing_formatter.rb +125 -125
  81. data/lib/bake/toolchain/diab.rb +53 -53
  82. data/lib/bake/toolchain/errorparser/diab_compiler_error_parser.rb +40 -40
  83. data/lib/bake/toolchain/errorparser/diab_linker_error_parser.rb +41 -41
  84. data/lib/bake/toolchain/errorparser/error_parser.rb +71 -71
  85. data/lib/bake/toolchain/errorparser/gcc_compiler_error_parser.rb +35 -35
  86. data/lib/bake/toolchain/errorparser/gcc_linker_error_parser.rb +35 -35
  87. data/lib/bake/toolchain/errorparser/greenhills_compiler_error_parser.rb +32 -32
  88. data/lib/bake/toolchain/errorparser/greenhills_linker_error_parser.rb +44 -44
  89. data/lib/bake/toolchain/errorparser/keil_compiler_error_parser.rb +40 -40
  90. data/lib/bake/toolchain/errorparser/keil_linker_error_parser.rb +30 -30
  91. data/lib/bake/toolchain/errorparser/lint_error_parser.rb +34 -34
  92. data/lib/bake/toolchain/errorparser/msvc_compiler_error_parser.rb +63 -63
  93. data/lib/bake/toolchain/errorparser/msvc_linker_error_parser.rb +42 -42
  94. data/lib/bake/toolchain/errorparser/process_output.rb +2 -2
  95. data/lib/bake/toolchain/errorparser/ti_compiler_error_parser.rb +30 -30
  96. data/lib/bake/toolchain/errorparser/ti_linker_error_parser.rb +30 -30
  97. data/lib/bake/toolchain/gcc.rb +49 -49
  98. data/lib/bake/toolchain/gcc_env.rb +55 -55
  99. data/lib/bake/toolchain/greenhills.rb +52 -52
  100. data/lib/bake/toolchain/keil.rb +53 -53
  101. data/lib/bake/toolchain/lint.rb +20 -20
  102. data/lib/bake/toolchain/msvc.rb +58 -58
  103. data/lib/bake/toolchain/provider.rb +146 -146
  104. data/lib/bake/toolchain/ti.rb +47 -47
  105. data/lib/bake/util.rb +149 -149
  106. data/lib/bakery/buildPattern.rb +24 -24
  107. data/lib/bakery/model/language.rb +22 -22
  108. data/lib/bakery/model/loader.rb +55 -55
  109. data/lib/bakery/model/metamodel.rb +48 -48
  110. data/lib/bakery/options/options.rb +87 -87
  111. data/lib/bakery/toBake.rb +81 -81
  112. data/lib/blocks/block.rb +324 -324
  113. data/lib/blocks/blockBase.rb +204 -204
  114. data/lib/blocks/commandLine.rb +38 -38
  115. data/lib/blocks/compile.rb +529 -528
  116. data/lib/blocks/convert.rb +41 -41
  117. data/lib/blocks/docu.rb +30 -30
  118. data/lib/blocks/executable.rb +174 -174
  119. data/lib/blocks/has_execute_command.rb +31 -31
  120. data/lib/blocks/library.rb +114 -114
  121. data/lib/blocks/lint.rb +56 -56
  122. data/lib/blocks/makefile.rb +100 -100
  123. data/lib/blocks/showIncludes.rb +140 -125
  124. data/lib/common/abortException.rb +4 -4
  125. data/lib/common/cleanup.rb +10 -10
  126. data/lib/common/exit_helper.rb +38 -38
  127. data/lib/common/ext/file.rb +88 -88
  128. data/lib/common/ext/rtext.rb +11 -11
  129. data/lib/common/ext/stdout.rb +45 -45
  130. data/lib/common/ide_interface.rb +194 -194
  131. data/lib/common/options/parser.rb +95 -85
  132. data/lib/common/process.rb +64 -64
  133. data/lib/common/utils.rb +52 -52
  134. data/lib/common/version.rb +31 -23
  135. data/lib/multithread/job.rb +44 -44
  136. data/lib/tocxx.rb +558 -555
  137. data/lib/vs/options.rb +69 -69
  138. data/license.txt +90 -90
  139. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8540ad106a6afb76df40b717b4e7a8e13b9803cf
4
- data.tar.gz: 57b00c965a59e65acb7742a9d99ec9ceefd66e46
3
+ metadata.gz: 20082f7a67d3699e5cf6b53b85cb818d719e6b3d
4
+ data.tar.gz: c9d4211022401e0e2657ccdf08bc9b5d30d5b473
5
5
  SHA512:
6
- metadata.gz: eff93846f8753525e768c2351be1c0d17df7dc052393524077f8f7c67dba6896a1c586c047a30bd8d2077999bac662c85127d81fbe225412c82b86adb1c680f7
7
- data.tar.gz: 298f49171f1f298d0663a55395a252f14e9ae48ad66215562b4c59f36cee44a97b644c6ad79e74269619206e0dd4d20f551e7924f5419bbfc5479f5e1f4472da
6
+ metadata.gz: f57d365f77b16e0d6d93dafd82c1feb5c039eae20601c6eeddb4820389f30ebaeacbe8b4d4f2b9da4181cbe664a7f3af294f918f3578db5360172718d0d98f60
7
+ data.tar.gz: bd4181162c7fd25f6f5e657a3ca9506061804d2f8c07128494a50738da19a963e32fad986c2be31b30ecc3d1232089d661cac454d85d076d45022f118d99486a
@@ -1,3 +1,3 @@
1
- require 'rake'
2
-
3
- require './rake_helper/spec.rb'
1
+ require 'rake'
2
+
3
+ require './rake_helper/spec.rb'
data/bin/bake CHANGED
@@ -1,46 +1,46 @@
1
- #!/usr/bin/env ruby
2
-
3
- $timeStart = Time.now
4
-
5
- $:.unshift(File.dirname(__FILE__)+"/../lib")
6
- require 'common/version'
7
-
8
- STDOUT.sync = true
9
- STDERR.sync = true
10
-
11
- puts "-- bake #{Bake::Version.number}, ruby #{RUBY_VERSION}p#{RUBY_PATCHLEVEL}, platform #{RUBY_PLATFORM} --"
12
-
13
- require 'tocxx'
14
- require 'socket'
15
-
16
- module Bake
17
-
18
- earlyExit = nil
19
- begin
20
- if RUBY_VERSION[0..2] == "1.8"
21
- Bake.formatter.printError("Error: Ruby 1.8 not supported anymore. Use Ruby 1.9 or greater.")
22
- ExitHelper.exit(1)
23
- end
24
-
25
- Bake.options = Options.new(ARGV)
26
- Bake.options.parse_options
27
-
28
- tocxx = Bake::ToCxx.new
29
- tocxx.connect()
30
- tocxx.doit()
31
- tocxx.disconnect()
32
-
33
- rescue SystemExit => e
34
- earlyExit = e
35
- begin
36
- tocxx.disconnect()
37
- rescue Exception => e2
38
- end
39
- end
40
-
41
- timeEnd = Time.now
42
- timeDiff = timeEnd - $timeStart
43
- Bake.formatter.printInfo("\nTime: %02d:%02d minutes" % [timeDiff/60, timeDiff%60])
44
-
45
- raise earlyExit if earlyExit
46
- end
1
+ #!/usr/bin/env ruby
2
+
3
+ $timeStart = Time.now
4
+
5
+ $:.unshift(File.dirname(__FILE__)+"/../lib")
6
+ require 'common/version'
7
+
8
+ STDOUT.sync = true
9
+ STDERR.sync = true
10
+
11
+ require 'tocxx'
12
+ require 'socket'
13
+
14
+ module Bake
15
+
16
+ earlyExit = nil
17
+ begin
18
+ if RUBY_VERSION[0..2] == "1.8"
19
+ Bake.formatter.printError("Error: Ruby 1.8 not supported anymore. Use Ruby 1.9 or greater.")
20
+ ExitHelper.exit(1)
21
+ end
22
+
23
+ Bake.options = Options.new(ARGV)
24
+ Bake.options.parse_options
25
+
26
+ tocxx = Bake::ToCxx.new
27
+ tocxx.connect()
28
+ tocxx.doit()
29
+ tocxx.disconnect()
30
+
31
+ rescue SystemExit => e
32
+ earlyExit = e
33
+ begin
34
+ tocxx.disconnect()
35
+ rescue Exception => e2
36
+ end
37
+ end
38
+
39
+ timeEnd = Time.now
40
+ timeDiff = timeEnd - $timeStart
41
+ if Bake.options.printTime
42
+ Bake.formatter.printInfo("\nTime: %02d:%02d minutes" % [timeDiff/60, timeDiff%60])
43
+ end
44
+
45
+ raise earlyExit if earlyExit
46
+ end
@@ -1,11 +1,11 @@
1
- #!/usr/bin/env ruby
2
-
3
- $:.unshift(File.dirname(__FILE__)+"/../lib")
4
- require 'common/version'
5
-
6
- puts "-- bake #{Bake::Version.number}, ruby #{RUBY_VERSION}p#{RUBY_PATCHLEVEL}, platform #{RUBY_PLATFORM} --"
7
-
8
- puts "Command \"bake-doc\" not supported anymore. Please use"
9
- puts "\"bake --doc\" to open the documentation in the browser OR"
10
- puts "\"bake --generate-doc ...\" for building the documentation of a project."
11
- exit(1)
1
+ #!/usr/bin/env ruby
2
+
3
+ $:.unshift(File.dirname(__FILE__)+"/../lib")
4
+ require 'common/version'
5
+
6
+ Bake::Version.printBakeVersion
7
+
8
+ puts "Command \"bake-doc\" not supported anymore. Please use"
9
+ puts "\"bake --doc\" to open the documentation in the browser OR"
10
+ puts "\"bake --generate-doc ...\" for building the documentation of a project."
11
+ exit(1)
data/bin/bakery CHANGED
@@ -1,179 +1,179 @@
1
- #!/usr/bin/env ruby
2
-
3
- $timeStart = Time.now
4
-
5
- $:.unshift(File.dirname(__FILE__)+"/../lib")
6
- require 'common/version'
7
-
8
- require 'common/utils'
9
-
10
- puts "-- bakery #{Bake::Version.number}, ruby #{RUBY_VERSION}p#{RUBY_PATCHLEVEL}, platform #{RUBY_PLATFORM} --"
11
-
12
- STDOUT.sync = true
13
- STDERR.sync = true
14
-
15
- $stars = "************************************************"
16
-
17
- require 'bake/toolchain/colorizing_formatter'
18
- require 'bake/options/options'
19
- require 'tocxx'
20
- require "bakery/model/loader"
21
- require "bakery/options/options"
22
- require "bakery/toBake"
23
- require "bakery/buildPattern"
24
- require 'common/ext/stdout'
25
- require 'common/cleanup'
26
-
27
- module Bake
28
-
29
- @options = BakeryOptions.new(ARGV)
30
- bakeOptions = Options.new([])
31
- @options.parse_options(bakeOptions)
32
-
33
- env = nil
34
- begin
35
- loader = BakeryLoader.new
36
- env = loader.load(@options.collection_dir+"/Collection.meta")
37
- rescue SystemExit => e
38
- raise e
39
- rescue Exception => e
40
- puts e
41
- puts e.backtrace
42
- ExitHelper.exit(1)
43
- end
44
-
45
-
46
- if @options.collection_name.empty?
47
- puts "Please specify a collection name. Possible values are:"
48
- env.find(:class => BakeryModel::Collection).each { |e|
49
- puts "* " + e.name
50
- }
51
- ExitHelper.exit(0)
52
- end
53
-
54
-
55
- def self.getCollections(env, name)
56
- cols = env.find(:class => BakeryModel::Collection, :name => name)
57
- @toBuild |= getBuildPattern(cols, name)
58
- @colsAll |= cols
59
- cols[0].collections.each do |cRef|
60
- alreadyProcessed = false
61
- @colsAll.each do |ca|
62
- alreadyProcessed = true if ca.name == cRef.name
63
- end
64
- getCollections(env, cRef.name) unless alreadyProcessed
65
- end
66
- end
67
-
68
- @toBuild = []
69
- @colsAll = []
70
- getCollections(env, @options.collection_name)
71
-
72
- maxRuns = @toBuild.length
73
- currentRun = 0
74
- failedRuns = []
75
-
76
- passedParams = []
77
- excludeParam = false
78
- wasMinus = false
79
- ARGV.each do |x|
80
- if (x=="-b" or x=="-m" or x=="--socket")
81
- excludeParam = true
82
- next
83
- end
84
- if excludeParam
85
- excludeParam = false
86
- next
87
- end
88
- if x.length > 0
89
- if x[0] == "-"
90
- wasMinus = true
91
- else
92
- next if not wasMinus
93
- wasMinus = false
94
- end
95
- end
96
- passedParams << x
97
- end
98
-
99
- if @options.socket != 0
100
- Bake::IDEInterface.instance.connect(@options.socket)
101
- end
102
-
103
- msg1 = "bakery "
104
-
105
- exitValue = 0
106
- abort = false
107
- @toBuild.each do |bp|
108
- currentRun += 1
109
- p = File.dirname(bp.proj)
110
- pRel = File.rel_from_to_project(Dir.pwd, p, false)
111
- pRel = "." if pRel.empty?
112
- cmd = (["-m", pRel, "-b", bp.conf] + passedParams)
113
- cmdWithNum = "bakery #{currentRun} of #{maxRuns}: bake " + cmd.join(" ")
114
- puts "\n#{$stars}"
115
- Bake.formatter.printInfo(cmdWithNum)
116
- puts $stars
117
-
118
-
119
- runOk = false
120
- begin
121
- Bake.options = Options.new(cmd)
122
- Bake.options.parse_options
123
- tocxx = ToCxx.new
124
- tocxx.doit()
125
- runOk = (ExitHelper.exit_code == 0)
126
- rescue SystemExit
127
- runOk = (ExitHelper.exit_code == 0)
128
- rescue Exception => e
129
- puts e.message
130
- end
131
-
132
- Bake::cleanup
133
- ExitHelper.reset_exit_code
134
-
135
- if runOk == false
136
- exitValue = 1
137
- failedRuns << "bake " + cmd.join(" ")
138
- if @options.error
139
- msg1 << "aborted"
140
- abort = true
141
- break
142
- end
143
- end
144
- end
145
-
146
- print "\n"
147
-
148
- if not abort
149
- if failedRuns.length > 0
150
- msg1 << "summary: #{failedRuns.length} of #{maxRuns} builds failed"
151
- else
152
- msg1 << "summary: #{maxRuns} of #{maxRuns} builds ok"
153
- end
154
- else
155
- end
156
-
157
- timeEnd = Time.now
158
- timeDiff = timeEnd - $timeStart
159
- failedRuns.each_with_index do |f,i|
160
- msg1 << "\n#{i+1}: #{f}"
161
- end
162
- msg1 << "\ntime: %02d:%02d minutes" % [timeDiff/60, timeDiff%60]
163
-
164
-
165
- if failedRuns.length == 0
166
- Bake.formatter.printSuccess($stars)
167
- Bake.formatter.printSuccess(msg1)
168
- Bake.formatter.printSuccess($stars)
169
- else
170
- Bake.formatter.printError($stars)
171
- Bake.formatter.printError(msg1)
172
- Bake.formatter.printError($stars)
173
- end
174
-
175
- Bake::IDEInterface.instance.disconnect()
176
-
177
- ExitHelper.exit(exitValue)
178
- end
179
-
1
+ #!/usr/bin/env ruby
2
+
3
+ $timeStart = Time.now
4
+
5
+ $:.unshift(File.dirname(__FILE__)+"/../lib")
6
+ require 'common/version'
7
+
8
+ require 'common/utils'
9
+
10
+ Bake::Version.printBakeryVersion
11
+
12
+ STDOUT.sync = true
13
+ STDERR.sync = true
14
+
15
+ $stars = "************************************************"
16
+
17
+ require 'bake/toolchain/colorizing_formatter'
18
+ require 'bake/options/options'
19
+ require 'tocxx'
20
+ require "bakery/model/loader"
21
+ require "bakery/options/options"
22
+ require "bakery/toBake"
23
+ require "bakery/buildPattern"
24
+ require 'common/ext/stdout'
25
+ require 'common/cleanup'
26
+
27
+ module Bake
28
+
29
+ @options = BakeryOptions.new(ARGV)
30
+ bakeOptions = Options.new([])
31
+ @options.parse_options(bakeOptions)
32
+
33
+ env = nil
34
+ begin
35
+ loader = BakeryLoader.new
36
+ env = loader.load(@options.collection_dir+"/Collection.meta")
37
+ rescue SystemExit => e
38
+ raise e
39
+ rescue Exception => e
40
+ puts e
41
+ puts e.backtrace
42
+ ExitHelper.exit(1)
43
+ end
44
+
45
+
46
+ if @options.collection_name.empty?
47
+ puts "Please specify a collection name. Possible values are:"
48
+ env.find(:class => BakeryModel::Collection).each { |e|
49
+ puts "* " + e.name
50
+ }
51
+ ExitHelper.exit(0)
52
+ end
53
+
54
+
55
+ def self.getCollections(env, name)
56
+ cols = env.find(:class => BakeryModel::Collection, :name => name)
57
+ @toBuild |= getBuildPattern(cols, name)
58
+ @colsAll |= cols
59
+ cols[0].collections.each do |cRef|
60
+ alreadyProcessed = false
61
+ @colsAll.each do |ca|
62
+ alreadyProcessed = true if ca.name == cRef.name
63
+ end
64
+ getCollections(env, cRef.name) unless alreadyProcessed
65
+ end
66
+ end
67
+
68
+ @toBuild = []
69
+ @colsAll = []
70
+ getCollections(env, @options.collection_name)
71
+
72
+ maxRuns = @toBuild.length
73
+ currentRun = 0
74
+ failedRuns = []
75
+
76
+ passedParams = []
77
+ excludeParam = false
78
+ wasMinus = false
79
+ ARGV.each do |x|
80
+ if (x=="-b" or x=="-m" or x=="--socket")
81
+ excludeParam = true
82
+ next
83
+ end
84
+ if excludeParam
85
+ excludeParam = false
86
+ next
87
+ end
88
+ if x.length > 0
89
+ if x[0] == "-"
90
+ wasMinus = true
91
+ else
92
+ next if not wasMinus
93
+ wasMinus = false
94
+ end
95
+ end
96
+ passedParams << x
97
+ end
98
+
99
+ if @options.socket != 0
100
+ Bake::IDEInterface.instance.connect(@options.socket)
101
+ end
102
+
103
+ msg1 = "bakery "
104
+
105
+ exitValue = 0
106
+ abort = false
107
+ @toBuild.each do |bp|
108
+ currentRun += 1
109
+ p = File.dirname(bp.proj)
110
+ pRel = File.rel_from_to_project(Dir.pwd, p, false)
111
+ pRel = "." if pRel.empty?
112
+ cmd = (["-m", pRel, "-b", bp.conf] + passedParams)
113
+ cmdWithNum = "bakery #{currentRun} of #{maxRuns}: bake " + cmd.join(" ")
114
+ puts "\n#{$stars}"
115
+ Bake.formatter.printInfo(cmdWithNum)
116
+ puts $stars
117
+
118
+
119
+ runOk = false
120
+ begin
121
+ Bake.options = Options.new(cmd)
122
+ Bake.options.parse_options
123
+ tocxx = ToCxx.new
124
+ tocxx.doit()
125
+ runOk = (ExitHelper.exit_code == 0)
126
+ rescue SystemExit
127
+ runOk = (ExitHelper.exit_code == 0)
128
+ rescue Exception => e
129
+ puts e.message
130
+ end
131
+
132
+ Bake::cleanup
133
+ ExitHelper.reset_exit_code
134
+
135
+ if runOk == false
136
+ exitValue = 1
137
+ failedRuns << "bake " + cmd.join(" ")
138
+ if @options.error
139
+ msg1 << "aborted"
140
+ abort = true
141
+ break
142
+ end
143
+ end
144
+ end
145
+
146
+ print "\n"
147
+
148
+ if not abort
149
+ if failedRuns.length > 0
150
+ msg1 << "summary: #{failedRuns.length} of #{maxRuns} builds failed"
151
+ else
152
+ msg1 << "summary: #{maxRuns} of #{maxRuns} builds ok"
153
+ end
154
+ else
155
+ end
156
+
157
+ timeEnd = Time.now
158
+ timeDiff = timeEnd - $timeStart
159
+ failedRuns.each_with_index do |f,i|
160
+ msg1 << "\n#{i+1}: #{f}"
161
+ end
162
+ msg1 << "\ntime: %02d:%02d minutes" % [timeDiff/60, timeDiff%60]
163
+
164
+
165
+ if failedRuns.length == 0
166
+ Bake.formatter.printSuccess($stars)
167
+ Bake.formatter.printSuccess(msg1)
168
+ Bake.formatter.printSuccess($stars)
169
+ else
170
+ Bake.formatter.printError($stars)
171
+ Bake.formatter.printError(msg1)
172
+ Bake.formatter.printError($stars)
173
+ end
174
+
175
+ Bake::IDEInterface.instance.disconnect()
176
+
177
+ ExitHelper.exit(exitValue)
178
+ end
179
+