bake-toolkit 1.1.0 → 1.2.0

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