yax 0.1

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