Repository navigation
Expand file tree
/
Copy pathoverview.html
More file actions
134 lines (97 loc) · 4.57 KB
/
Copy pathoverview.html
File metadata and controls
134 lines (97 loc) · 4.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?xml version="1.0" encoding="ISO-8859-1"?><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Overview of Geant</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%">
<tr>
<td><font size="6"><strong>Overview of Geant</strong></font></td>
<td align="right"><a href="overview.html"><img src="image/previous.gif" alt="Previous" border="0" /></a><a href="introduction.html"><img src="image/next.gif" alt="Next" border="0" /></a></td>
</tr>
</table>
<hr size="1" />
<p>
Geant is a build tool specifically tailored for the Eiffel programming language.
</p>
<div><a name="introduction"></a>
<h2>Why Geant?</h2>
<p>
Like the build tool 'make', well known to C and C++ developers 'geant'
is a build tool for Eiffel developers. It is based on the ideas of Jakarta Ant,
a build tool for the Java programming language.
</p>
<p>
There are several reasons why this build tool has been created. The first one
is that I found it annoying to download interesting Eiffel libraries and
having difficulties compiling and using them. Very often I gave up although
I did spend quite some time trying to get it running. The frustrating thing in this
situation is that you do not really know whether you just did anything wrong or if
you simply had no chance to compile or use it since the software is not in
a stable state. What I wanted to have is a build procedure and a readme file
telling me how to invoke the build procedure so that I could use the software.
If the build procedure failed I would know that it wasn't my fault and could send
a bug report to the author.
</p>
<p>
In the Java world there has been exactly the same problem. With the widespread use
of Jakarta Ant the situation improved a lot. Having used Jakarta Ant for Java I thought
it would be a good idea to have something similar for Eiffel and that's how Geant was born.
</p>
<p>
Another advantage is that Geant is OS portable (tested on Windows, Linux, Solaris)
and that it includes commands (so called tasks) which are tailored specifically for
the usage with Eiffel. All available Eiffel compilers are supported.
</p>
<p>
Reusability in build systems has always been an issue which wasn't addressed properly.
Therefore Geant's build scripts can be used as classes: build scripts can inherit
from other build scripts.
</p>
</div>
<div>
<h2>How to invoke Geant</h2>
<p>
Like other build tools geant is invoked on the commandline
optionally followed by a so called targetname. Here are some examples (the $ sign
represents the shell prompt):
</p>
<pre>
$ geant
$ geant help
$ geant compile
</pre>
<p>
Geant then is looking for a file named 'build.eant' which contains the build instructions.
So far all this sounds familiar to anyone who has used <i>make</i>.
The first difference we encounter is that the format of 'build.eant' or generally
eant files is XML. If you know Jakarta's Java build tool Ant you will see that the
syntax is very similar.
</p>
</div>
<div>
<h2>Diving into geant</h2>
<p>
<a href="introduction.html">Introduction to geant</a>
</p>
<p>
<a href="examples.html">geant examples</a>
</p>
<p>
<a href="tasks.html">geant's tasks</a>
</p>
<p>
<a href="builtin_variables.html">Built-in variables</a>
</p>
</div>
<hr size="1" />
<table border="0" width="100%">
<tr>
<td>
<address><font size="2"><b>Copyright (c) 2002-2005, Sven Ehrke</b><br /><b>mailto:</b><a href="mailto:ericb@gobosoft.com">ericb@gobosoft.com</a><br /><b>https://</b><a href="https://www.gobosoft.com">www.gobosoft.com</a><br /><b>Last Updated: </b>7 July 2005</font></address>
</td>
<td align="right" valign="top"><a href="http://gobo-eiffel.gobosoft.com"><img src="image/home.gif" alt="Home" border="0" /></a><a href="overview.html"><img src="image/toc.gif" alt="Toc" border="0" /></a><a href="overview.html"><img src="image/previous.gif" alt="Previous" border="0" /></a><a href="introduction.html"><img src="image/next.gif" alt="Next" border="0" /></a></td>
</tr>
</table>
</body>
</html>