bake-toolkit 2.20.4 → 2.21.0

Sign up to get free protection for your applications and to get access to all the features.
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
+