bake-toolkit 1.1.0 → 1.2.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 381988c79e8c8cb7d930b61b306330f360a1ced9
4
+ data.tar.gz: 44c5523e0894af5e842af4e9b63a0e97df39233e
5
+ SHA512:
6
+ metadata.gz: 3143de2a16aee53610242d97a6425c994e8c4cdd11dd327f0754e7c1b397f78a6b7f36d2315a2b97a950aad1d37e44e7b3b705eb0c2855b1d54d26f9773eeb56
7
+ data.tar.gz: fbbe8ae534a1aefad7331db09ac09e25e571be3c14d04c4dd4bb3a2f5cdfd0689a6c64dd7df7bf57c7b9cb252b44ddb67d29b1fb011dcad3b230ce8cea4a72a7
@@ -7,6 +7,12 @@
7
7
  <body>
8
8
  <h1>Changelog</h1>
9
9
 
10
+ May 2, 2014 - bake-toolkit 1.2.0<br>
11
+ <ul>
12
+ <li><b>Added: Set keyword for defining variables</b>
13
+ <li><b>Changed: "executed in"-output now in separate line</b>
14
+ </ul>
15
+
10
16
  March 14, 2014 - bake-toolkit 1.1.0<br>
11
17
  <ul>
12
18
  <li><b>Added: Lint support</b>
data/doc/index.html CHANGED
@@ -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: 1.1.0</td><td align="right">March 14, 2014</td></tr></table>
75
+ <table width="100%" border="0"><tr><td align="left">Described bake-toolkit version: 1.2.0</td><td align="right">May 2, 2014</td></tr></table>
76
76
 
77
77
  </body>
78
78
 
@@ -16,7 +16,15 @@
16
16
  <h1>Variable substitution in Project.meta</h1>
17
17
 
18
18
  <h3>Substituted variables</h3>
19
-
19
+ A variable can be defined with the Set keyword in Project.meta (see syntax documentation):
20
+ <p>
21
+ <table border="1">
22
+ <tr><th bgcolor="#CCCCCC">Example</th><th bgcolor="#CCCCCC">Output</th></tr>
23
+ <tr><td>Set WORLD, value: "world!"<br>CommandLine "echo hello $(WORLD)"</td> <td>hello world!</td></tr>
24
+ </table>
25
+ <p>
26
+ bake includes also some standard variables:
27
+ <p>
20
28
  <table border="1">
21
29
  <tr><th bgcolor="#CCCCCC">Variable</th><th bgcolor="#CCCCCC">Example</th></tr>
22
30
  <tr><td>$(MainConfigName)</td> <td>Debug</td></tr>
@@ -79,6 +79,7 @@ z-index: 100;
79
79
 
80
80
  <span><span style="background-color:#EEEEEE;" class="show">
81
81
  &nbsp; &nbsp; <span class="mycomment"># Valid for all config types</span><br><br>
82
+ &nbsp; &nbsp; <span class="help" onMouseover="showSet()" onMouseout="notip()">Set</span> &#60;variable&#62;, value: &#60;value&#62;<br>
82
83
  &nbsp; &nbsp; <span class="help" onMouseover="showDependency()" onMouseout="notip()">Dependency</span> &#60;project&#62;,
83
84
  <span class="help" onMouseover="showDependencyConfig()" onMouseout="notip()">config</span>: &#60;name&#62;<br>
84
85
  &nbsp; &nbsp; <span class="help" onMouseover="showExternalLibrary()" onMouseout="notip()">ExternalLibrary</span> &#60;lib&#62;,
@@ -382,6 +383,11 @@ function showIncludeDir() {
382
383
  ddrivetip("IncludeDir", "No","0..n","-",str)
383
384
  }
384
385
 
386
+ function showSet() {
387
+ str = 'Sets a variable for this and all dependent projects.'
388
+ ddrivetip("Set", "No","0..n","-",str)
389
+ }
390
+
385
391
  function showDependency() {
386
392
  str = 'Specifies another project to be built before this project.<br>'+
387
393
  'The archive, linker libs and search paths are imported from this project to the this project automatically.'
@@ -31,6 +31,8 @@ module Cxxproject
31
31
 
32
32
  @child.setDependency(@parent.dependency + @child.dependency)
33
33
 
34
+ @child.setSet(@parent.set + @child.set)
35
+
34
36
  manipulateLineNumbers(@parent.exLib)
35
37
  manipulateLineNumbers(@parent.exLibSearchPath)
36
38
  manipulateLineNumbers(@parent.userLibrary)
@@ -155,7 +155,12 @@ module Cxxproject
155
155
 
156
156
  class ArtifactName < ModelElement
157
157
  has_attr 'name', String, :defaultValueLiteral => ""
158
- end
158
+ end
159
+
160
+ class Set < ModelElement
161
+ has_attr 'name', String, :defaultValueLiteral => ""
162
+ has_attr 'value', String, :defaultValueLiteral => ""
163
+ end
159
164
 
160
165
  class BaseConfig_INTERNAL < ModelElement
161
166
  has_attr 'name', String, :defaultValueLiteral => ""
@@ -166,6 +171,7 @@ module Cxxproject
166
171
  contains_many 'exLib', ExternalLibrary, 'parent'
167
172
  contains_many 'exLibSearchPath', ExternalLibrarySearchPath, 'parent'
168
173
  contains_one 'defaultToolchain', DefaultToolchain, 'parent'
174
+ contains_many 'set', Set, 'parent'
169
175
 
170
176
  module ClassModule
171
177
  def ident
data/lib/bake/subst.rb CHANGED
@@ -2,7 +2,7 @@ module Cxxproject
2
2
 
3
3
  class Subst
4
4
 
5
- def self.itute(config, projName, options)
5
+ def self.itute(config, projName, options, isMainProj)
6
6
 
7
7
  @@configName = config.name
8
8
  @@projDir = config.parent.get_project_dir
@@ -22,7 +22,10 @@ module Cxxproject
22
22
  end
23
23
  end
24
24
 
25
- subst(config)
25
+ @@userVarMap = {} if isMainProj
26
+ config.set.each { |s| @@userVarMap[s.name] = s.value }
27
+
28
+ subst(config)
26
29
  end
27
30
 
28
31
  def self.subst(elem)
@@ -42,7 +45,9 @@ module Cxxproject
42
45
 
43
46
  var = str[posStart+2..posEnd-1]
44
47
 
45
- if var == "MainConfigName"
48
+ if @@userVarMap.has_key?(var)
49
+ substStr << @@userVarMap[var]
50
+ elsif var == "MainConfigName"
46
51
  substStr << @@options.build_config
47
52
  elsif var == "MainProjectName"
48
53
  substStr << @@mainProjectName
@@ -88,7 +93,7 @@ module Cxxproject
88
93
  substStr << str[posSubst..-1]
89
94
 
90
95
  elem.setGeneric(a.name, substStr)
91
- end
96
+ end
92
97
 
93
98
  childsRefs = elem.class.ecore.eAllReferences.select{|r| r.containment}
94
99
  childsRefs.each do |c|
data/lib/bake/version.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  module Cxxproject
2
2
  class Version
3
3
  def self.bake
4
- "1.1.0"
4
+ "1.2.0"
5
5
  end
6
6
  end
7
7
 
8
- expectedCxx = "0.5.72"
8
+ expectedCxx = "0.5.73"
9
9
  expectedRGen = "0.6.0"
10
10
  expectedRText = "0.2.0"
11
11
 
data/lib/tocxx.rb CHANGED
@@ -380,12 +380,13 @@ module Cxxproject
380
380
 
381
381
 
382
382
  def substVars
383
+ @mainConfig = @project2config[@mainProjectName]
384
+
385
+ Subst.itute(@mainConfig, @mainProjectName, @options, true)
383
386
  @project2config.each do |projName, config|
384
- Subst.itute(config, projName, @options)
387
+ Subst.itute(config, projName, @options, false) if projName != @mainProjectName
385
388
  end
386
389
 
387
- @mainConfig = @project2config[@mainProjectName]
388
-
389
390
  basedOn = @mainConfig.defaultToolchain.basedOn
390
391
  basedOn = "GCC_Lint" if @options.lint
391
392
 
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bake-toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
5
- prerelease:
4
+ version: 1.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alexander Schaal
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-03-14 00:00:00.000000000 Z
11
+ date: 2014-05-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: cxxproject
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - '='
20
18
  - !ruby/object:Gem::Version
21
- version: 0.5.72
19
+ version: 0.5.73
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - '='
28
25
  - !ruby/object:Gem::Version
29
- version: 0.5.72
26
+ version: 0.5.73
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rtext
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - '='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - '='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rgen
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - '='
52
46
  - !ruby/object:Gem::Version
@@ -54,14 +48,12 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - '='
60
53
  - !ruby/object:Gem::Version
61
54
  version: 0.6.0
62
- description: ! ' This build tool is used to compile projects fast and easy.
63
-
64
- '
55
+ description: |2
56
+ This build tool is used to compile projects fast and easy.
65
57
  email: alexander.schaal@esrlabs.com
66
58
  executables:
67
59
  - bake
@@ -112,24 +104,24 @@ files:
112
104
  - doc/eclipse/build/buildMain.png
113
105
  - doc/eclipse/build/console.png
114
106
  - doc/eclipse/build/problem.png
107
+ - doc/eclipse/export.html
115
108
  - doc/eclipse/export/Script.png
116
109
  - doc/eclipse/export/Select.png
117
- - doc/eclipse/export.html
110
+ - doc/eclipse/import.html
118
111
  - doc/eclipse/import/Import.png
119
112
  - doc/eclipse/import/Select.png
120
- - doc/eclipse/import.html
113
+ - doc/eclipse/install.html
121
114
  - doc/eclipse/install/AddRepository.png
122
115
  - doc/eclipse/install/AvailableSoftware.png
123
116
  - doc/eclipse/install/InstallNewSoftware.png
124
117
  - doc/eclipse/install/Licenses.png
125
118
  - doc/eclipse/install/Restart.png
126
119
  - doc/eclipse/install/TrustMe.png
127
- - doc/eclipse/install.html
128
120
  - doc/eclipse/misc/pref.png
121
+ - doc/eclipse/new.html
129
122
  - doc/eclipse/new/New.png
130
123
  - doc/eclipse/new/Result.png
131
124
  - doc/eclipse/new/Select.png
132
- - doc/eclipse/new.html
133
125
  - doc/eclipse/select/FirstSelect.png
134
126
  - doc/eclipse/select/SecondSelect.png
135
127
  - doc/eclipse/select/WrongSelect.png
@@ -147,19 +139,19 @@ files:
147
139
  - doc/syntax/derive.html
148
140
  - doc/syntax/subst.html
149
141
  - doc/syntax/syntax.html
150
- - doc/vs/create/cvsp.png
151
142
  - doc/vs/create.html
143
+ - doc/vs/create/cvsp.png
144
+ - doc/vs/install.html
152
145
  - doc/vs/install/install1.png
153
146
  - doc/vs/install/install2010.png
154
147
  - doc/vs/install/installed.png
155
148
  - doc/vs/install/site.png
156
149
  - doc/vs/install/update.png
157
- - doc/vs/install.html
150
+ - doc/vs/use.html
158
151
  - doc/vs/use/error.png
159
152
  - doc/vs/use/options.png
160
153
  - doc/vs/use/select.png
161
154
  - doc/vs/use/show.png
162
- - doc/vs/use.html
163
155
  - license.txt
164
156
  - bin/bake
165
157
  - bin/bakery
@@ -168,6 +160,7 @@ files:
168
160
  homepage: http://www.esrlabs.com
169
161
  licenses:
170
162
  - MIT
163
+ metadata: {}
171
164
  post_install_message:
172
165
  rdoc_options:
173
166
  - -x
@@ -175,21 +168,19 @@ rdoc_options:
175
168
  require_paths:
176
169
  - lib
177
170
  required_ruby_version: !ruby/object:Gem::Requirement
178
- none: false
179
171
  requirements:
180
- - - ! '>='
172
+ - - '>='
181
173
  - !ruby/object:Gem::Version
182
174
  version: '0'
183
175
  required_rubygems_version: !ruby/object:Gem::Requirement
184
- none: false
185
176
  requirements:
186
- - - ! '>='
177
+ - - '>='
187
178
  - !ruby/object:Gem::Version
188
179
  version: '0'
189
180
  requirements: []
190
181
  rubyforge_project:
191
- rubygems_version: 1.8.24
182
+ rubygems_version: 2.0.14
192
183
  signing_key:
193
- specification_version: 3
184
+ specification_version: 4
194
185
  summary: Frontend for cxxproject.
195
186
  test_files: []