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.
- data/yax-0.1/docs/classes/IO.html +251 -0
- data/yax-0.1/docs/classes/IO.src/M000003.html +46 -0
- data/yax-0.1/docs/classes/IO.src/M000004.html +27 -0
- data/yax-0.1/docs/classes/Module.html +156 -0
- data/yax-0.1/docs/classes/Module.src/M000002.html +23 -0
- data/yax-0.1/docs/classes/MultiIO.html +217 -0
- data/yax-0.1/docs/classes/MultiIO.src/M000006.html +18 -0
- data/yax-0.1/docs/classes/MultiIO.src/M000007.html +19 -0
- data/yax-0.1/docs/classes/MultiIO.src/M000008.html +20 -0
- data/yax-0.1/docs/classes/Numeric.html +155 -0
- data/yax-0.1/docs/classes/Numeric.src/M000005.html +16 -0
- data/yax-0.1/docs/classes/Regexp.html +153 -0
- data/yax-0.1/docs/classes/Regexp.src/M000001.html +16 -0
- data/yax-0.1/docs/classes/String.html +270 -0
- data/yax-0.1/docs/classes/String.src/M000009.html +18 -0
- data/yax-0.1/docs/classes/String.src/M000010.html +16 -0
- data/yax-0.1/docs/classes/String.src/M000011.html +22 -0
- data/yax-0.1/docs/classes/String.src/M000012.html +27 -0
- data/yax-0.1/docs/classes/String.src/M000013.html +21 -0
- data/yax-0.1/docs/classes/String.src/M000014.html +20 -0
- data/yax-0.1/docs/classes/Yax.html +256 -0
- data/yax-0.1/docs/classes/Yax.src/M000015.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.html +1661 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000016.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000017.html +18 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000018.html +19 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000019.html +19 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000020.html +19 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000021.html +46 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000022.html +19 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000023.html +18 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000024.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000025.html +18 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000026.html +19 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000027.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000028.html +18 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000029.html +18 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000030.html +19 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000031.html +25 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000032.html +18 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000033.html +36 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000034.html +34 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000035.html +23 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000036.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000037.html +32 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000038.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000042.html +18 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000043.html +18 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000044.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000046.html +37 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000047.html +29 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000048.html +29 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000049.html +30 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000050.html +22 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000051.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000052.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000053.html +19 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000054.html +28 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000055.html +21 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000056.html +27 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000057.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000058.html +22 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000059.html +21 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000060.html +21 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000061.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000062.html +21 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000063.html +20 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000064.html +21 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000065.html +26 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000066.html +25 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000067.html +29 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000068.html +26 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000069.html +19 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000070.html +31 -0
- data/yax-0.1/docs/classes/Yax/Session.src/M000071.html +25 -0
- data/yax-0.1/docs/created.rid +1 -0
- data/yax-0.1/docs/dot/f_0.dot +14 -0
- data/yax-0.1/docs/dot/f_0.png +0 -0
- data/yax-0.1/docs/dot/f_1.dot +14 -0
- data/yax-0.1/docs/dot/f_1.png +0 -0
- data/yax-0.1/docs/dot/f_2.dot +14 -0
- data/yax-0.1/docs/dot/f_2.png +0 -0
- data/yax-0.1/docs/dot/f_3.dot +93 -0
- data/yax-0.1/docs/dot/f_3.png +0 -0
- data/yax-0.1/docs/dot/m_3_0.dot +39 -0
- data/yax-0.1/docs/dot/m_3_0.png +0 -0
- data/yax-0.1/docs/files/License_txt.html +124 -0
- data/yax-0.1/docs/files/ReadMe_Amber_txt.html +489 -0
- data/yax-0.1/docs/files/ReadMe_txt.html +444 -0
- data/yax-0.1/docs/files/nist/yax_rb.html +138 -0
- data/yax-0.1/docs/fr_class_index.html +34 -0
- data/yax-0.1/docs/fr_file_index.html +30 -0
- data/yax-0.1/docs/fr_method_index.html +97 -0
- data/yax-0.1/docs/index.html +24 -0
- data/yax-0.1/docs/rdoc-style.css +208 -0
- data/yax-0.1/lib/nist/yax.rb +1367 -0
- data/yax-0.1/tests/test_yax.rb +190 -0
- 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
|
+
|
|
Binary file
|
|
@@ -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> ("software") 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/<ProjectName>/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’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’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… 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’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’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 "DevRoot" 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’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 ‘require’:
|
|
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’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
|
+
‘ri’.
|
|
403
|
+
|
|
404
|
+
</li>
|
|
405
|
+
<li>rake ri_site # Generate and install docs accessable to all users via
|
|
406
|
+
‘ri’.
|
|
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’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>
|