yax 0.1

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 (98) hide show
  1. data/yax-0.1/docs/classes/IO.html +251 -0
  2. data/yax-0.1/docs/classes/IO.src/M000003.html +46 -0
  3. data/yax-0.1/docs/classes/IO.src/M000004.html +27 -0
  4. data/yax-0.1/docs/classes/Module.html +156 -0
  5. data/yax-0.1/docs/classes/Module.src/M000002.html +23 -0
  6. data/yax-0.1/docs/classes/MultiIO.html +217 -0
  7. data/yax-0.1/docs/classes/MultiIO.src/M000006.html +18 -0
  8. data/yax-0.1/docs/classes/MultiIO.src/M000007.html +19 -0
  9. data/yax-0.1/docs/classes/MultiIO.src/M000008.html +20 -0
  10. data/yax-0.1/docs/classes/Numeric.html +155 -0
  11. data/yax-0.1/docs/classes/Numeric.src/M000005.html +16 -0
  12. data/yax-0.1/docs/classes/Regexp.html +153 -0
  13. data/yax-0.1/docs/classes/Regexp.src/M000001.html +16 -0
  14. data/yax-0.1/docs/classes/String.html +270 -0
  15. data/yax-0.1/docs/classes/String.src/M000009.html +18 -0
  16. data/yax-0.1/docs/classes/String.src/M000010.html +16 -0
  17. data/yax-0.1/docs/classes/String.src/M000011.html +22 -0
  18. data/yax-0.1/docs/classes/String.src/M000012.html +27 -0
  19. data/yax-0.1/docs/classes/String.src/M000013.html +21 -0
  20. data/yax-0.1/docs/classes/String.src/M000014.html +20 -0
  21. data/yax-0.1/docs/classes/Yax.html +256 -0
  22. data/yax-0.1/docs/classes/Yax.src/M000015.html +20 -0
  23. data/yax-0.1/docs/classes/Yax/Session.html +1661 -0
  24. data/yax-0.1/docs/classes/Yax/Session.src/M000016.html +20 -0
  25. data/yax-0.1/docs/classes/Yax/Session.src/M000017.html +18 -0
  26. data/yax-0.1/docs/classes/Yax/Session.src/M000018.html +19 -0
  27. data/yax-0.1/docs/classes/Yax/Session.src/M000019.html +19 -0
  28. data/yax-0.1/docs/classes/Yax/Session.src/M000020.html +19 -0
  29. data/yax-0.1/docs/classes/Yax/Session.src/M000021.html +46 -0
  30. data/yax-0.1/docs/classes/Yax/Session.src/M000022.html +19 -0
  31. data/yax-0.1/docs/classes/Yax/Session.src/M000023.html +18 -0
  32. data/yax-0.1/docs/classes/Yax/Session.src/M000024.html +20 -0
  33. data/yax-0.1/docs/classes/Yax/Session.src/M000025.html +18 -0
  34. data/yax-0.1/docs/classes/Yax/Session.src/M000026.html +19 -0
  35. data/yax-0.1/docs/classes/Yax/Session.src/M000027.html +20 -0
  36. data/yax-0.1/docs/classes/Yax/Session.src/M000028.html +18 -0
  37. data/yax-0.1/docs/classes/Yax/Session.src/M000029.html +18 -0
  38. data/yax-0.1/docs/classes/Yax/Session.src/M000030.html +19 -0
  39. data/yax-0.1/docs/classes/Yax/Session.src/M000031.html +25 -0
  40. data/yax-0.1/docs/classes/Yax/Session.src/M000032.html +18 -0
  41. data/yax-0.1/docs/classes/Yax/Session.src/M000033.html +36 -0
  42. data/yax-0.1/docs/classes/Yax/Session.src/M000034.html +34 -0
  43. data/yax-0.1/docs/classes/Yax/Session.src/M000035.html +23 -0
  44. data/yax-0.1/docs/classes/Yax/Session.src/M000036.html +20 -0
  45. data/yax-0.1/docs/classes/Yax/Session.src/M000037.html +32 -0
  46. data/yax-0.1/docs/classes/Yax/Session.src/M000038.html +20 -0
  47. data/yax-0.1/docs/classes/Yax/Session.src/M000042.html +18 -0
  48. data/yax-0.1/docs/classes/Yax/Session.src/M000043.html +18 -0
  49. data/yax-0.1/docs/classes/Yax/Session.src/M000044.html +20 -0
  50. data/yax-0.1/docs/classes/Yax/Session.src/M000046.html +37 -0
  51. data/yax-0.1/docs/classes/Yax/Session.src/M000047.html +29 -0
  52. data/yax-0.1/docs/classes/Yax/Session.src/M000048.html +29 -0
  53. data/yax-0.1/docs/classes/Yax/Session.src/M000049.html +30 -0
  54. data/yax-0.1/docs/classes/Yax/Session.src/M000050.html +22 -0
  55. data/yax-0.1/docs/classes/Yax/Session.src/M000051.html +20 -0
  56. data/yax-0.1/docs/classes/Yax/Session.src/M000052.html +20 -0
  57. data/yax-0.1/docs/classes/Yax/Session.src/M000053.html +19 -0
  58. data/yax-0.1/docs/classes/Yax/Session.src/M000054.html +28 -0
  59. data/yax-0.1/docs/classes/Yax/Session.src/M000055.html +21 -0
  60. data/yax-0.1/docs/classes/Yax/Session.src/M000056.html +27 -0
  61. data/yax-0.1/docs/classes/Yax/Session.src/M000057.html +20 -0
  62. data/yax-0.1/docs/classes/Yax/Session.src/M000058.html +22 -0
  63. data/yax-0.1/docs/classes/Yax/Session.src/M000059.html +21 -0
  64. data/yax-0.1/docs/classes/Yax/Session.src/M000060.html +21 -0
  65. data/yax-0.1/docs/classes/Yax/Session.src/M000061.html +20 -0
  66. data/yax-0.1/docs/classes/Yax/Session.src/M000062.html +21 -0
  67. data/yax-0.1/docs/classes/Yax/Session.src/M000063.html +20 -0
  68. data/yax-0.1/docs/classes/Yax/Session.src/M000064.html +21 -0
  69. data/yax-0.1/docs/classes/Yax/Session.src/M000065.html +26 -0
  70. data/yax-0.1/docs/classes/Yax/Session.src/M000066.html +25 -0
  71. data/yax-0.1/docs/classes/Yax/Session.src/M000067.html +29 -0
  72. data/yax-0.1/docs/classes/Yax/Session.src/M000068.html +26 -0
  73. data/yax-0.1/docs/classes/Yax/Session.src/M000069.html +19 -0
  74. data/yax-0.1/docs/classes/Yax/Session.src/M000070.html +31 -0
  75. data/yax-0.1/docs/classes/Yax/Session.src/M000071.html +25 -0
  76. data/yax-0.1/docs/created.rid +1 -0
  77. data/yax-0.1/docs/dot/f_0.dot +14 -0
  78. data/yax-0.1/docs/dot/f_0.png +0 -0
  79. data/yax-0.1/docs/dot/f_1.dot +14 -0
  80. data/yax-0.1/docs/dot/f_1.png +0 -0
  81. data/yax-0.1/docs/dot/f_2.dot +14 -0
  82. data/yax-0.1/docs/dot/f_2.png +0 -0
  83. data/yax-0.1/docs/dot/f_3.dot +93 -0
  84. data/yax-0.1/docs/dot/f_3.png +0 -0
  85. data/yax-0.1/docs/dot/m_3_0.dot +39 -0
  86. data/yax-0.1/docs/dot/m_3_0.png +0 -0
  87. data/yax-0.1/docs/files/License_txt.html +124 -0
  88. data/yax-0.1/docs/files/ReadMe_Amber_txt.html +489 -0
  89. data/yax-0.1/docs/files/ReadMe_txt.html +444 -0
  90. data/yax-0.1/docs/files/nist/yax_rb.html +138 -0
  91. data/yax-0.1/docs/fr_class_index.html +34 -0
  92. data/yax-0.1/docs/fr_file_index.html +30 -0
  93. data/yax-0.1/docs/fr_method_index.html +97 -0
  94. data/yax-0.1/docs/index.html +24 -0
  95. data/yax-0.1/docs/rdoc-style.css +208 -0
  96. data/yax-0.1/lib/nist/yax.rb +1367 -0
  97. data/yax-0.1/tests/test_yax.rb +190 -0
  98. metadata +195 -0
Binary file
@@ -0,0 +1,39 @@
1
+ digraph TopLevel {
2
+ compound = true
3
+ bgcolor = lightcyan1
4
+ fontname = Arial
5
+ fontsize = 8
6
+ label = "TopLevel"
7
+ node [
8
+ fontname = Arial,
9
+ fontsize = 8,
10
+ color = black
11
+ ]
12
+
13
+ subgraph cluster_Yax {
14
+ fillcolor = palegreen1
15
+ URL = "classes/Yax.html"
16
+ fontname = Arial
17
+ color = blue
18
+ label = "Yax"
19
+ style = filled
20
+ Yax [
21
+ shape = plaintext,
22
+ height = 0.01,
23
+ width = 0.01,
24
+ label = ""
25
+ ]
26
+
27
+ Yax__Session [
28
+ fontcolor = black,
29
+ URL = "classes/Yax/Session.html",
30
+ shape = ellipse,
31
+ color = palegoldenrod,
32
+ style = filled,
33
+ label = "Session"
34
+ ]
35
+
36
+ }
37
+
38
+ }
39
+
@@ -0,0 +1,124 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: License.txt</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>License.txt</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>License.txt
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Sat Jan 14 21:45:26 EST 2006</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+ <div id="diagram">
71
+ <map id="map" name="map">
72
+ </map>
73
+ <img src="../dot/f_0.png" usemap="#map" border=0 alt="TopLevel">
74
+ </div>
75
+
76
+ <div id="description">
77
+ <h1>Disclaimers, Licenses, and Acknowledgements</h1>
78
+ <p>
79
+ <a href="../classes/Yax.html">Yax</a> (&quot;software&quot;) is provided by
80
+ NIST as a service and is expressly provided AS IS. NIST MAKES NO WARRANTY
81
+ OF ANY KIND, EXPRESS, IMPLIED, IN FACT OR ARISING BY OPERATION OF LAW,
82
+ INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY,
83
+ FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND DATA ACCURACY. NIST
84
+ NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE
85
+ UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST
86
+ DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE
87
+ SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE
88
+ CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. Software
89
+ developed by NIST employees is not subject to copyright protection within
90
+ the United States.
91
+ </p>
92
+
93
+ </div>
94
+
95
+
96
+ </div>
97
+
98
+
99
+ </div>
100
+
101
+
102
+ <!-- if includes -->
103
+
104
+ <div id="section">
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+ <!-- if method_list -->
114
+
115
+
116
+ </div>
117
+
118
+
119
+ <div id="validator-badges">
120
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
121
+ </div>
122
+
123
+ </body>
124
+ </html>
@@ -0,0 +1,489 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: ReadMe_Amber.txt</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>ReadMe_Amber.txt</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>ReadMe_Amber.txt
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Sat Jan 14 21:45:26 EST 2006</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+ <div id="diagram">
71
+ <map id="map" name="map">
72
+ </map>
73
+ <img src="../dot/f_2.png" usemap="#map" border=0 alt="TopLevel">
74
+ </div>
75
+
76
+ <div id="description">
77
+ <p>
78
+ This development snapshot was produced by Amber. The documents for the
79
+ project proper are in the Projects/&lt;ProjectName&gt;/doc directory.
80
+ </p>
81
+ <h1>Overview of Amber</h1>
82
+ <p>
83
+ Amber is an enterprise scale build system that helps you manage
84
+ hierarchical projects. Amber offers:
85
+ </p>
86
+ <ul>
87
+ <li>Simple project setup - start a new project in seconds
88
+
89
+ </li>
90
+ <li>Consistent usage across projects, so new developers don&#8217;t need to
91
+ ramp up
92
+
93
+ </li>
94
+ <li>Superior dependency management, including transitive dependencies among
95
+ projects
96
+
97
+ </li>
98
+ <li>Easily work with multiple projects at one time
99
+
100
+ </li>
101
+ <li>Extensible: add your own features in Ruby and/or Rake
102
+
103
+ </li>
104
+ <li>Flexible: override Amber&#8217;s behaviors when necessary
105
+
106
+ </li>
107
+ <li>Rake tasks for deployment outside of Amber
108
+
109
+ </li>
110
+ <li>Metainformation based builds: one command builds multiple projects into
111
+ several types of distribution pakages&#8230; without extra scripting
112
+
113
+ </li>
114
+ </ul>
115
+ <p>
116
+ Amber is similar in scope to Apache Maven: in fact most of the above
117
+ feature list is derived from Maven&#8217;s feature list (even though Amber
118
+ was written without any knowledge of Maven).
119
+ </p>
120
+ <p>
121
+ Amber is a layer on top of Rake that factors build files so that:
122
+ </p>
123
+ <ul>
124
+ <li>Code duplication (in Rakefiles) is minimized
125
+
126
+ </li>
127
+ <li>Projects are very consistent.
128
+
129
+ </li>
130
+ <li>Dependencies between projects are automatically handled gracefully
131
+
132
+ </li>
133
+ <li>Projects can be run, tested, and packaged without installation, despite
134
+ these dependencies
135
+
136
+ </li>
137
+ <li>Packages can be constructed for different purposes:
138
+
139
+ <ul>
140
+ <li>Windows stand alone .exe - for end users (works fine)
141
+
142
+ </li>
143
+ <li>Development - for project workers (works fine)
144
+
145
+ </li>
146
+ <li>RubyGems - for code users (not yet tested)
147
+
148
+ </li>
149
+ <li>RPA Base - for code users (not yet implemented)
150
+
151
+ </li>
152
+ </ul>
153
+ </li>
154
+ </ul>
155
+ <p>
156
+ Amber&#8217;s main disadvantage is that its consistency demands that simple
157
+ projects have the same directory structure as complicated projects.
158
+ </p>
159
+ <p>
160
+ The Amber development package contains the following directories:
161
+ </p>
162
+ <ul>
163
+ <li>Amber - the Amber build system
164
+
165
+ </li>
166
+ <li>Lib_AmberNeeds - externally maintained libraries required by Amber
167
+
168
+ </li>
169
+ <li>Projects - projects managed by Amber
170
+
171
+ </li>
172
+ </ul>
173
+ <h1>Status</h1>
174
+ <p>
175
+ Amber is used on a daily basis by several developers. The following Ruby
176
+ projects are developed using Amber:
177
+ </p>
178
+ <ul>
179
+ <li>Pippin schema-based XML marshalling/unmarshalling
180
+
181
+ </li>
182
+ <li><a href="../classes/Yax.html">Yax</a> expect-like scripting tool
183
+
184
+ </li>
185
+ <li>OffspringViewer for visualizing printed circuits described by the IPC-2581
186
+ standard
187
+
188
+ </li>
189
+ <li>Genie command pattern
190
+
191
+ </li>
192
+ <li>Trimurti application assembler (plugin manager / dependency injector)
193
+
194
+ </li>
195
+ </ul>
196
+ <h1>Installation</h1>
197
+ <p>
198
+ To use Amber, you must:
199
+ </p>
200
+ <ol>
201
+ <li>Define the &quot;DevRoot&quot; environmental variable that points to the
202
+ package root (containing the Amber direcory). This must use Unix style
203
+ forward slashes, even under Windows.
204
+
205
+ </li>
206
+ <li>Install the required libraries. The easiest way is to:
207
+
208
+ <pre>
209
+ cd into $DevRoot/Amber/bin
210
+ sudo ruby bootstrap.rb
211
+ </pre>
212
+ <p>
213
+ Of course you can instead install the required libraries manually if you
214
+ already have some of them present. The libraries are located in
215
+ Lib_AmberNeeds:
216
+ </p>
217
+ <ul>
218
+ <li>RubyGems
219
+
220
+ </li>
221
+ <li>Rubywebdialogs
222
+
223
+ </li>
224
+ <li>Which
225
+
226
+ </li>
227
+ <li>Rake. This needs to be the manually installed version, not the RubyGem
228
+ version (we have not yet investigated why this is case).
229
+
230
+ </li>
231
+ </ul>
232
+ </li>
233
+ </ol>
234
+ <h1>How Amber Works</h1>
235
+ <p>
236
+ Every project has a Rakefile.rb that:
237
+ </p>
238
+ <ol>
239
+ <li>Requires Amber/bin/phb.rb, which contains the PointyHairedBoss class that
240
+ provides much of Amber&#8217;s behavior.
241
+
242
+ </li>
243
+ <li>Deduces the name of the project from the directory name.
244
+
245
+ </li>
246
+ <li>Requires metainfo/properties.
247
+
248
+ </li>
249
+ <li>Requires Amber/bin/Rakefile_shared.rb, which provides the rake tasks common
250
+ to all projects.
251
+
252
+ </li>
253
+ </ol>
254
+ <p>
255
+ The following files may also be loaded by &#8216;require&#8217;:
256
+ </p>
257
+ <ul>
258
+ <li>metainfo/dependencies.rb - lists the libraries and additional projects that
259
+ the project depends on
260
+
261
+ </li>
262
+ <li>Amber/bin/directories.rb - the project directory structure
263
+
264
+ </li>
265
+ <li>Amber/bin/properties_shared.rb - properties common to all projects (they
266
+ can be overridden)
267
+
268
+ </li>
269
+ <li>Amber/bin/Rakefile_system.rb - Rake tasks for managing projects
270
+
271
+ </li>
272
+ </ul>
273
+ <h1>Common Tasks</h1>
274
+ <h4>Create a new project:</h4>
275
+ <ol>
276
+ <li>Build the directory stucture:
277
+
278
+ <pre>
279
+ cd $DevRoot
280
+ rake name=NewProjectName create_project
281
+ </pre>
282
+ <p>
283
+ Your new project will be found in Projects/NewProjectName.
284
+ </p>
285
+ </li>
286
+ <li>Edit metainfo/dependencies to specify
287
+
288
+ <ul>
289
+ <li>The other Amber projects required by this project
290
+
291
+ </li>
292
+ <li>Externally maintained libraries required by this project.
293
+
294
+ </li>
295
+ </ul>
296
+ <p>
297
+ Put those externally maintained libraries in $DevRoot/Lib
298
+ </p>
299
+ </li>
300
+ <li>Edit metainfo/proprties to specify:
301
+
302
+ <ul>
303
+ <li>PHB[:run_file] - The Ruby file executed to run the program
304
+
305
+ </li>
306
+ <li>PHB[:summary] - A brief summary of the project
307
+
308
+ </li>
309
+ </ul>
310
+ <p>
311
+ You can specify many other project properties, but they are optional.
312
+ </p>
313
+ </li>
314
+ <li>Add your files to the directories specified in Manifest.txt:
315
+
316
+ <ul>
317
+ <li>src_run - Source code
318
+
319
+ </li>
320
+ <li>src_test - Test code
321
+
322
+ </li>
323
+ <li>src_doc - Documentation source files (processed, along with src_run, by
324
+ rdoc)
325
+
326
+ </li>
327
+ </ul>
328
+ </li>
329
+ </ol>
330
+ <h4>Run your program:</h4>
331
+ <pre>
332
+ cd $DevRoot
333
+ rake run
334
+ </pre>
335
+ <p>
336
+ Amber will automatically add to Ruby&#8217;s load path the src_run
337
+ directories for this Project, and (recursively) any other Projects
338
+ specified in metainfo/dependencies.rb.
339
+ </p>
340
+ <h4>Run regression tests in src_test:</h4>
341
+ <pre>
342
+ cd $DevRoot
343
+ rake test
344
+ </pre>
345
+ <h4>Run rdoc to create HTML documentation from comments in source code:</h4>
346
+ <pre>
347
+ cd $DevRoot
348
+ rake rdoc
349
+ </pre>
350
+ <h4>Build .tgz, .zip, and RubyGem packages for distribution:</h4>
351
+ <pre>
352
+ cd $DevRoot
353
+ rake package
354
+ </pre>
355
+ <p>
356
+ You will find the resulting files in $DevRoot/Temp:
357
+ </p>
358
+ <ul>
359
+ <li>.zip and .tgz Development packages in DevRoot/Temp/devPackaging
360
+
361
+ </li>
362
+ <li>Ruby Gem package in DevRoot/Temp/gemPackaging
363
+
364
+ </li>
365
+ <li>All of these packages include rdocs
366
+
367
+ </li>
368
+ </ul>
369
+ <h4>Windows only - ceate a double-clickable application that runs your program:</h4>
370
+ <pre>
371
+ cd $DevRoot
372
+ rake rubyscript2exe
373
+ </pre>
374
+ <p>
375
+ This will run your program: you need to exercise it to ensure that all the
376
+ source files get loaded. Close the program when you are done, and you
377
+ should find the executable in DevRoot/Temp/tar2exe.
378
+ </p>
379
+ <h1>Summary of Rake Targets</h1>
380
+ <p>
381
+ You can cd into one of directories in DevRoot/Projects, and execute:
382
+ </p>
383
+ <ul>
384
+ <li>rake -tasks # shows a listing of targests/operations
385
+
386
+ </li>
387
+ <li>rake clean # Remove any temporary products, specified by
388
+ PHB[:clean_fileList]
389
+
390
+ </li>
391
+ <li>rake find_dirt # Shows files that will be removed by :clean and :clobber
392
+
393
+ </li>
394
+ <li>sudo rake install_lib # Install libraries required by the project (rather
395
+ than Amber)
396
+
397
+ </li>
398
+ <li>rake rdoc # Creates HTML documentation from source files.
399
+
400
+ </li>
401
+ <li>rake ri # Generate and install docs accessable to invoking user via
402
+ &#8216;ri&#8217;.
403
+
404
+ </li>
405
+ <li>rake ri_site # Generate and install docs accessable to all users via
406
+ &#8216;ri&#8217;.
407
+
408
+ </li>
409
+ <li>rake run # Run without installation. Used for debugging. Requires previous
410
+ :install_lib
411
+
412
+ </li>
413
+ <li>rake test # Run tests
414
+
415
+ </li>
416
+ <li>rake package # Generate Distribution packages
417
+
418
+ </li>
419
+ <li>rake rubyscript2exe # (Windows only) Generate a Windows executable
420
+
421
+ </li>
422
+ <li>rake exerb # (Windows only) Generate a Windows executable (older method,
423
+ not reccomended)
424
+
425
+ </li>
426
+ </ul>
427
+ <p>
428
+ There are a number of other targets, which have not been tested:
429
+ don&#8217;t use them yet.
430
+ </p>
431
+ <p>
432
+ You can also cd $DevRoot, and execute:
433
+ </p>
434
+ <ul>
435
+ <li>rake -tasks # shows a listing of targests/operations
436
+
437
+ </li>
438
+ <li>rake clean # removes temporary products
439
+
440
+ </li>
441
+ <li>rake projects # shows a listing of project brief descriptions
442
+
443
+ </li>
444
+ <li>rake name=NewProjectName create_project # make a new Project
445
+
446
+ </li>
447
+ <li>rake name=RottenProjectName delete_project # delete existing Project
448
+
449
+ </li>
450
+ <li>rake name=LibraryToFind find_library # invokes Devel::Which
451
+
452
+ </li>
453
+ </ul>
454
+ <p>
455
+ Author: A. Griesser
456
+ </p>
457
+
458
+ </div>
459
+
460
+
461
+ </div>
462
+
463
+
464
+ </div>
465
+
466
+
467
+ <!-- if includes -->
468
+
469
+ <div id="section">
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+ <!-- if method_list -->
479
+
480
+
481
+ </div>
482
+
483
+
484
+ <div id="validator-badges">
485
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
486
+ </div>
487
+
488
+ </body>
489
+ </html>