bake-toolkit 2.13.1 → 2.14.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/documentation/_build/html/_sources/changelog.txt +7 -0
- data/documentation/_build/html/_sources/index.txt +1 -1
- data/documentation/_build/html/_sources/syntax/adapt_configs.txt +143 -0
- data/documentation/_build/html/_sources/syntax/derive_configs.txt +48 -60
- data/documentation/_build/html/_sources/syntax/syntax.txt +1 -0
- data/documentation/_build/html/_static/syntax.html +9 -6
- data/documentation/_build/html/changelog.html +14 -4
- data/documentation/_build/html/commandline/commandline.html +6 -6
- data/documentation/_build/html/concepts/build_hierarchy.html +4 -4
- data/documentation/_build/html/concepts/concepts.html +4 -4
- data/documentation/_build/html/concepts/the_main_project.html +4 -4
- data/documentation/_build/html/concepts/the_project_meta_file.html +4 -4
- data/documentation/_build/html/genindex.html +4 -4
- data/documentation/_build/html/ide/eclipse/eclipse.html +4 -4
- data/documentation/_build/html/ide/eclipse/how_to_convert_existing_cdt_workspace.html +4 -4
- data/documentation/_build/html/ide/eclipse/how_to_create_a_new_project_in_eclipse.html +4 -4
- data/documentation/_build/html/ide/eclipse/how_to_create_a_workspace_in_eclipse.html +4 -4
- data/documentation/_build/html/ide/eclipse/how_to_install_eclipse_plugin.html +4 -4
- data/documentation/_build/html/ide/eclipse/how_to_use_bake_in_eclipse.html +4 -4
- data/documentation/_build/html/ide/ide_integrations.html +4 -4
- data/documentation/_build/html/ide/vs/how_to_create_vs_projects.html +4 -4
- data/documentation/_build/html/ide/vs/how_to_debug_in_vs.html +4 -4
- data/documentation/_build/html/ide/vs/how_to_used_bake_in_vs.html +4 -4
- data/documentation/_build/html/ide/vs/vs.html +4 -4
- data/documentation/_build/html/ide/vs/vs_install.html +4 -4
- data/documentation/_build/html/index.html +8 -7
- data/documentation/_build/html/install/install_bake.html +4 -4
- data/documentation/_build/html/internal.html +4 -4
- data/documentation/_build/html/known_issues.html +4 -4
- data/documentation/_build/html/license.html +4 -4
- data/documentation/_build/html/performance/performance.html +4 -4
- data/documentation/_build/html/quickstart/quickstart.html +4 -4
- data/documentation/_build/html/search.html +4 -4
- data/documentation/_build/html/searchindex.js +1 -1
- data/documentation/_build/html/syntax/adapt_configs.html +287 -0
- data/documentation/_build/html/syntax/derive_configs.html +57 -116
- data/documentation/_build/html/syntax/project_meta_syntax.html +13 -10
- data/documentation/_build/html/syntax/syntax.html +11 -4
- data/documentation/_build/html/syntax/variable_substitutions.html +4 -4
- data/documentation/_build/html/tips_and_tricks/how_to_use_bake_with_cygwin.html +4 -4
- data/documentation/_build/html/tips_and_tricks/static_code_analysis.html +4 -4
- data/documentation/_build/html/tips_and_tricks/the_bakery.html +4 -4
- data/documentation/_build/html/tips_and_tricks/the_clang.html +4 -4
- data/documentation/_build/html/tips_and_tricks/tips_and_tricks.html +4 -4
- data/documentation/_build/html/why_bake/why_bake.html +6 -6
- data/lib/adapt/config/loader.rb +111 -0
- data/lib/bake/cache.rb +25 -1
- data/lib/bake/config/checks.rb +61 -0
- data/lib/bake/config/loader.rb +41 -40
- data/lib/bake/libElement.rb +54 -55
- data/lib/bake/mergeConfig.rb +170 -154
- data/lib/bake/model/language.rb +2 -4
- data/lib/bake/model/metamodel.rb +31 -19
- data/lib/bake/model/metamodel_ext.rb +4 -1
- data/lib/bake/options/options.rb +12 -3
- data/lib/bake/options/usage.rb +1 -0
- data/lib/blocks/block.rb +0 -4
- data/lib/blocks/blockBase.rb +2 -1
- data/lib/blocks/compile.rb +5 -5
- data/lib/blocks/makefile.rb +1 -1
- data/lib/blocks/showIncludes.rb +13 -2
- data/lib/common/version.rb +3 -3
- data/lib/tocxx.rb +7 -2
- metadata +10 -6
@@ -5,7 +5,7 @@
|
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
|
8
|
-
<title>The Syntax of the Project.meta file — bake 2.
|
8
|
+
<title>The Syntax of the Project.meta file — bake 2.14.0 documentation</title>
|
9
9
|
|
10
10
|
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
11
11
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../',
|
18
|
-
VERSION: '2.
|
18
|
+
VERSION: '2.14.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
30
30
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
31
31
|
<link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
|
32
|
-
<link rel="top" title="bake 2.
|
32
|
+
<link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
|
33
33
|
<link rel="up" title="Syntax" href="syntax.html" />
|
34
34
|
<link rel="next" title="Variables in Project.meta" href="variable_substitutions.html" />
|
35
35
|
<link rel="prev" title="Syntax" href="syntax.html" />
|
@@ -220,6 +220,8 @@ z-index: 100;
|
|
220
220
|
|
221
221
|
<span><span style="background-color:#EEEEEE;" class="show">
|
222
222
|
<span class="mycomment"># Valid for all config types</span><br><br>
|
223
|
+
<span class="help" onMouseover="showDescription()" onMouseout="notip()">Description</span> <text><br>
|
224
|
+
<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()">inject</span>: front|back<br>
|
223
225
|
<span class="help" onMouseover="showSet()" onMouseout="notip()">Set</span> <variable>, value: <value> | cmd: <line>, <span class="help" onMouseover="showEnv()" onMouseout="notip()">env</span>: true|false<br>
|
224
226
|
<span class="help" onMouseover="showDependency()" onMouseout="notip()">Dependency</span> <project>,
|
225
227
|
<span class="help" onMouseover="showDependencyConfig()" onMouseout="notip()">config</span>: <name><br>
|
@@ -302,7 +304,6 @@ z-index: 100;
|
|
302
304
|
<span class="help" onMouseover="showFilesDefine()" onMouseout="notip()">Define</span> <define><br>
|
303
305
|
}<br>
|
304
306
|
<span class="help" onMouseover="showExcludeFiles()" onMouseout="notip()">ExcludeFiles</span> <pattern><br>
|
305
|
-
<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()">inject</span>: front|back<br>
|
306
307
|
|
307
308
|
</span><br></span>
|
308
309
|
|
@@ -368,7 +369,7 @@ function showResponsible() {
|
|
368
369
|
}
|
369
370
|
|
370
371
|
function showDescription() {
|
371
|
-
str = 'Description of the project.'
|
372
|
+
str = 'Description of the project or config.'
|
372
373
|
ddrivetip("Description", "No", "0..1", "-",str)
|
373
374
|
}
|
374
375
|
|
@@ -554,7 +555,8 @@ function showCommandLine() {
|
|
554
555
|
|
555
556
|
|
556
557
|
function showEclipseOrder() {
|
557
|
-
str = 'If not specified or false, all files are compiled in
|
558
|
+
str = 'If not specified or false, all files are compiled in order of appearance in Project.meta. '+
|
559
|
+
'If the filename is a glob pattern, files are sorted alphabetically.<p>'+
|
558
560
|
'If true, files are compiled in alphabetical order within a folder, '+
|
559
561
|
'but the folders are sorted in reverse alphabetical order.<br>'+
|
560
562
|
'This is only used for backward compatibility.'
|
@@ -813,14 +815,14 @@ return false
|
|
813
815
|
|
814
816
|
function positiontip(e){
|
815
817
|
if (enabletip){
|
816
|
-
var curX=(ns6)?e.
|
817
|
-
var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
|
818
|
+
var curX=(ns6)?e.offsetX : event.clientX+ietruebody().scrollLeft;
|
819
|
+
var curY=(ns6)?e.pageY-80 : event.clientY+ietruebody().scrollTop;
|
818
820
|
//Find out how close the mouse is to the corner of the window
|
819
821
|
var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint
|
820
822
|
var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint*2 : window.innerHeight-e.clientY-offsetypoint
|
821
823
|
var bottom=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight
|
822
824
|
|
823
|
-
var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) :
|
825
|
+
var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : offsetxpoint
|
824
826
|
|
825
827
|
//if the horizontal distance isn't enough to accomodate the width of the context menu
|
826
828
|
if (rightedge<tipobj.offsetWidth+offsetxpoint/2)
|
@@ -841,6 +843,7 @@ tipobj.style.visibility="visible"
|
|
841
843
|
}
|
842
844
|
}
|
843
845
|
|
846
|
+
|
844
847
|
function notip(){
|
845
848
|
if (ns6||ie){
|
846
849
|
enabletip=false
|
@@ -882,7 +885,7 @@ document.onmousemove=positiontip
|
|
882
885
|
|
883
886
|
</p>
|
884
887
|
<p>
|
885
|
-
© Copyright
|
888
|
+
© Copyright 2016, E.S.R.Labs AG.<br/>
|
886
889
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
|
887
890
|
</p>
|
888
891
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
|
8
|
-
<title>Syntax — bake 2.
|
8
|
+
<title>Syntax — bake 2.14.0 documentation</title>
|
9
9
|
|
10
10
|
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
11
11
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../',
|
18
|
-
VERSION: '2.
|
18
|
+
VERSION: '2.14.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
30
30
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
31
31
|
<link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
|
32
|
-
<link rel="top" title="bake 2.
|
32
|
+
<link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
|
33
33
|
<link rel="next" title="The Syntax of the Project.meta file" href="project_meta_syntax.html" />
|
34
34
|
<link rel="prev" title="The build hierarchy" href="../concepts/build_hierarchy.html" />
|
35
35
|
<meta charset='utf-8'>
|
@@ -157,6 +157,13 @@
|
|
157
157
|
<li class="toctree-l2"><a class="reference internal" href="derive_configs.html#inheritance-implications">Inheritance implications</a></li>
|
158
158
|
</ul>
|
159
159
|
</li>
|
160
|
+
<li class="toctree-l1"><a class="reference internal" href="adapt_configs.html">Adapt configs</a><ul>
|
161
|
+
<li class="toctree-l2"><a class="reference internal" href="adapt_configs.html#introduction">Introduction</a></li>
|
162
|
+
<li class="toctree-l2"><a class="reference internal" href="adapt_configs.html#effectiveness">Effectiveness</a></li>
|
163
|
+
<li class="toctree-l2"><a class="reference internal" href="adapt_configs.html#occurrences">Occurrences</a></li>
|
164
|
+
<li class="toctree-l2"><a class="reference internal" href="adapt_configs.html#types">Types</a></li>
|
165
|
+
</ul>
|
166
|
+
</li>
|
160
167
|
</ul>
|
161
168
|
</div>
|
162
169
|
</div>
|
@@ -173,7 +180,7 @@
|
|
173
180
|
|
174
181
|
</p>
|
175
182
|
<p>
|
176
|
-
© Copyright
|
183
|
+
© Copyright 2016, E.S.R.Labs AG.<br/>
|
177
184
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
|
178
185
|
</p>
|
179
186
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
|
8
|
-
<title>Variables in Project.meta — bake 2.
|
8
|
+
<title>Variables in Project.meta — bake 2.14.0 documentation</title>
|
9
9
|
|
10
10
|
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
11
11
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../',
|
18
|
-
VERSION: '2.
|
18
|
+
VERSION: '2.14.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
30
30
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
31
31
|
<link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
|
32
|
-
<link rel="top" title="bake 2.
|
32
|
+
<link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
|
33
33
|
<link rel="up" title="Syntax" href="syntax.html" />
|
34
34
|
<link rel="next" title="Derive configs" href="derive_configs.html" />
|
35
35
|
<link rel="prev" title="The Syntax of the Project.meta file" href="project_meta_syntax.html" />
|
@@ -370,7 +370,7 @@ If you have the special case that the referenced project is contained in an othe
|
|
370
370
|
|
371
371
|
</p>
|
372
372
|
<p>
|
373
|
-
© Copyright
|
373
|
+
© Copyright 2016, E.S.R.Labs AG.<br/>
|
374
374
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
|
375
375
|
</p>
|
376
376
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
|
8
|
-
<title>How to use bake with cygwin — bake 2.
|
8
|
+
<title>How to use bake with cygwin — bake 2.14.0 documentation</title>
|
9
9
|
|
10
10
|
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
11
11
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../',
|
18
|
-
VERSION: '2.
|
18
|
+
VERSION: '2.14.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
30
30
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
31
31
|
<link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
|
32
|
-
<link rel="top" title="bake 2.
|
32
|
+
<link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
|
33
33
|
<link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
|
34
34
|
<link rel="next" title="Clang Analyze" href="the_clang.html" />
|
35
35
|
<link rel="prev" title="Static Code Analysis" href="static_code_analysis.html" />
|
@@ -195,7 +195,7 @@ Depending on your Cygwin installation, you have to call “bake.bat” i
|
|
195
195
|
|
196
196
|
</p>
|
197
197
|
<p>
|
198
|
-
© Copyright
|
198
|
+
© Copyright 2016, E.S.R.Labs AG.<br/>
|
199
199
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
|
200
200
|
</p>
|
201
201
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
|
8
|
-
<title>Static Code Analysis — bake 2.
|
8
|
+
<title>Static Code Analysis — bake 2.14.0 documentation</title>
|
9
9
|
|
10
10
|
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
11
11
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../',
|
18
|
-
VERSION: '2.
|
18
|
+
VERSION: '2.14.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
30
30
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
31
31
|
<link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
|
32
|
-
<link rel="top" title="bake 2.
|
32
|
+
<link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
|
33
33
|
<link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
|
34
34
|
<link rel="next" title="How to use bake with cygwin" href="how_to_use_bake_with_cygwin.html" />
|
35
35
|
<link rel="prev" title="The Bakery" href="the_bakery.html" />
|
@@ -276,7 +276,7 @@ You can use the <em>–lint-max</em> and the <em>–lint-min</em> option
|
|
276
276
|
|
277
277
|
</p>
|
278
278
|
<p>
|
279
|
-
© Copyright
|
279
|
+
© Copyright 2016, E.S.R.Labs AG.<br/>
|
280
280
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
|
281
281
|
</p>
|
282
282
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
|
8
|
-
<title>The Bakery — bake 2.
|
8
|
+
<title>The Bakery — bake 2.14.0 documentation</title>
|
9
9
|
|
10
10
|
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
11
11
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../',
|
18
|
-
VERSION: '2.
|
18
|
+
VERSION: '2.14.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
30
30
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
31
31
|
<link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
|
32
|
-
<link rel="top" title="bake 2.
|
32
|
+
<link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
|
33
33
|
<link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
|
34
34
|
<link rel="next" title="Static Code Analysis" href="static_code_analysis.html" />
|
35
35
|
<link rel="prev" title="Tips and Tricks" href="tips_and_tricks.html" />
|
@@ -397,7 +397,7 @@ Collection MySpecialCollection {
|
|
397
397
|
|
398
398
|
</p>
|
399
399
|
<p>
|
400
|
-
© Copyright
|
400
|
+
© Copyright 2016, E.S.R.Labs AG.<br/>
|
401
401
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
|
402
402
|
</p>
|
403
403
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
|
8
|
-
<title>Clang Analyze — bake 2.
|
8
|
+
<title>Clang Analyze — bake 2.14.0 documentation</title>
|
9
9
|
|
10
10
|
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
11
11
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../',
|
18
|
-
VERSION: '2.
|
18
|
+
VERSION: '2.14.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
30
30
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
31
31
|
<link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
|
32
|
-
<link rel="top" title="bake 2.
|
32
|
+
<link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
|
33
33
|
<link rel="up" title="Tips and Tricks" href="tips_and_tricks.html" />
|
34
34
|
<link rel="next" title="Performance" href="../performance/performance.html" />
|
35
35
|
<link rel="prev" title="How to use bake with cygwin" href="how_to_use_bake_with_cygwin.html" />
|
@@ -193,7 +193,7 @@ invoking the compiler, the Clang Analyzer will be called.</p>
|
|
193
193
|
|
194
194
|
</p>
|
195
195
|
<p>
|
196
|
-
© Copyright
|
196
|
+
© Copyright 2016, E.S.R.Labs AG.<br/>
|
197
197
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
|
198
198
|
</p>
|
199
199
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
|
8
|
-
<title>Tips and Tricks — bake 2.
|
8
|
+
<title>Tips and Tricks — bake 2.14.0 documentation</title>
|
9
9
|
|
10
10
|
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
11
11
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../',
|
18
|
-
VERSION: '2.
|
18
|
+
VERSION: '2.14.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
30
30
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
31
31
|
<link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
|
32
|
-
<link rel="top" title="bake 2.
|
32
|
+
<link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
|
33
33
|
<link rel="next" title="The Bakery" href="the_bakery.html" />
|
34
34
|
<link rel="prev" title="How to Debug in Visual Studio" href="../ide/vs/how_to_debug_in_vs.html" />
|
35
35
|
<meta charset='utf-8'>
|
@@ -188,7 +188,7 @@ However, remove the IncludeDir statements from the Project.meta and check it out
|
|
188
188
|
|
189
189
|
</p>
|
190
190
|
<p>
|
191
|
-
© Copyright
|
191
|
+
© Copyright 2016, E.S.R.Labs AG.<br/>
|
192
192
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
|
193
193
|
</p>
|
194
194
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
7
|
|
8
|
-
<title>Why you should use bake — bake 2.
|
8
|
+
<title>Why you should use bake — bake 2.14.0 documentation</title>
|
9
9
|
|
10
10
|
<link rel="stylesheet" href="../_static/basic.css" type="text/css" />
|
11
11
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../',
|
18
|
-
VERSION: '2.
|
18
|
+
VERSION: '2.14.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -29,9 +29,9 @@
|
|
29
29
|
<script type="text/javascript" src="../_static/bootstrap-3.3.4/js/bootstrap.min.js"></script>
|
30
30
|
<script type="text/javascript" src="../_static/bootstrap-sphinx.js"></script>
|
31
31
|
<link rel="shortcut icon" href="../_static/logo_tiny_32.ico"/>
|
32
|
-
<link rel="top" title="bake 2.
|
32
|
+
<link rel="top" title="bake 2.14.0 documentation" href="../index.html" />
|
33
33
|
<link rel="next" title="Install bake" href="../install/install_bake.html" />
|
34
|
-
<link rel="prev" title="bake 2.
|
34
|
+
<link rel="prev" title="bake 2.14.0" href="../index.html" />
|
35
35
|
<meta charset='utf-8'>
|
36
36
|
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
|
37
37
|
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
|
@@ -108,7 +108,7 @@
|
|
108
108
|
|
109
109
|
|
110
110
|
<li>
|
111
|
-
<a href="../index.html" title="Previous Chapter: bake 2.
|
111
|
+
<a href="../index.html" title="Previous Chapter: bake 2.14.0"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">« bake 2.14.0</span>
|
112
112
|
</a>
|
113
113
|
</li>
|
114
114
|
<li>
|
@@ -233,7 +233,7 @@ it should be easy to switch between different version of the tool.</td>
|
|
233
233
|
|
234
234
|
</p>
|
235
235
|
<p>
|
236
|
-
© Copyright
|
236
|
+
© Copyright 2016, E.S.R.Labs AG.<br/>
|
237
237
|
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.<br/>
|
238
238
|
</p>
|
239
239
|
</div>
|
@@ -0,0 +1,111 @@
|
|
1
|
+
require 'bake/model/loader'
|
2
|
+
require 'bake/config/checks'
|
3
|
+
|
4
|
+
module Bake
|
5
|
+
|
6
|
+
class AdaptConfig
|
7
|
+
attr_reader :referencedConfigs
|
8
|
+
|
9
|
+
@@filenames = []
|
10
|
+
|
11
|
+
def self.filenames
|
12
|
+
@@filenames
|
13
|
+
end
|
14
|
+
|
15
|
+
def loadProjMeta(filename, filenum)
|
16
|
+
|
17
|
+
Bake::Configs::Checks.symlinkCheck(filename)
|
18
|
+
|
19
|
+
f = @loader.load(filename)
|
20
|
+
|
21
|
+
if f.root_elements.length != 1 or not Metamodel::Adapt === f.root_elements[0]
|
22
|
+
Bake.formatter.printError("Config file must have exactly one 'Adapt' element as root element", filename)
|
23
|
+
ExitHelper.exit(1)
|
24
|
+
end
|
25
|
+
|
26
|
+
adapt = f.root_elements[0]
|
27
|
+
configs = adapt.getConfig
|
28
|
+
|
29
|
+
Bake::Configs::Checks::commonMetamodelCheck(configs, filename)
|
30
|
+
|
31
|
+
configs.each do |c|
|
32
|
+
if not c.extends.empty?
|
33
|
+
Bake.formatter.printError("Attribute 'extends' must not be used in adapt config.",c)
|
34
|
+
ExitHelper.exit(1)
|
35
|
+
end
|
36
|
+
if c.name.empty?
|
37
|
+
Bake.formatter.printError("Configs must be named.",c)
|
38
|
+
ExitHelper.exit(1)
|
39
|
+
end
|
40
|
+
if c.project.empty?
|
41
|
+
Bake.formatter.printError("The corresponding project must be specified.",c)
|
42
|
+
ExitHelper.exit(1)
|
43
|
+
end
|
44
|
+
if not ["replace", "remove", "extend"].include?c.type
|
45
|
+
Bake.formatter.printError("Allowed types are 'replace', 'remove' and 'extend'.",c)
|
46
|
+
ExitHelper.exit(1)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
configs
|
51
|
+
end
|
52
|
+
|
53
|
+
def getPotentialAdaptionProjects()
|
54
|
+
potentialAdapts = []
|
55
|
+
Bake.options.roots.each do |r|
|
56
|
+
if (r.length == 3 && r.include?(":/"))
|
57
|
+
r = r + Bake.options.main_project_name # glob would not work otherwise on windows (ruby bug?)
|
58
|
+
end
|
59
|
+
Bake.options.adapt.each do |a|
|
60
|
+
fn = r+"/**{,/*/**}/#{a}/Adapt.meta"
|
61
|
+
potentialAdapts.concat(Dir.glob(fn).sort)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
potentialAdapts.uniq
|
66
|
+
end
|
67
|
+
|
68
|
+
def chooseProjectFilenames(potentialAdapts)
|
69
|
+
@@filenames = []
|
70
|
+
|
71
|
+
Bake.options.adapt.each do |a|
|
72
|
+
adapts = potentialAdapts.find_all { |p| p.include?(a+"/Adapt.meta") }
|
73
|
+
if adapts.empty?
|
74
|
+
Bake.formatter.printError("Adaption project #{a} not found")
|
75
|
+
ExitHelper.exit(1)
|
76
|
+
else
|
77
|
+
@@filenames << adapts[0]
|
78
|
+
if (adapts.length > 1)
|
79
|
+
Bake.formatter.printWarning("Adaption project #{a} exists more than once")
|
80
|
+
chosen = " (chosen)"
|
81
|
+
adapts.each do |f|
|
82
|
+
Bake.formatter.printWarning(" #{File.dirname(f)}#{chosen}")
|
83
|
+
chosen = ""
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
def load()
|
92
|
+
@@filenames = []
|
93
|
+
return [] if Bake.options.adapt.empty?
|
94
|
+
|
95
|
+
@loader = Loader.new
|
96
|
+
|
97
|
+
potentialProjects = getPotentialAdaptionProjects()
|
98
|
+
chooseProjectFilenames(potentialProjects)
|
99
|
+
|
100
|
+
configs = []
|
101
|
+
@@filenames.each_with_index do |f,i|
|
102
|
+
configs.concat(loadProjMeta(f, i+1))
|
103
|
+
end
|
104
|
+
|
105
|
+
return configs
|
106
|
+
end
|
107
|
+
|
108
|
+
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|