rant 0.5.6 → 0.5.7
Sign up to get free protection for your applications and to get access to all the features.
- data/NEWS +12 -0
- data/README +3 -3
- data/Rantfile +7 -1
- data/doc/Untitled-1~ +7 -0
- data/doc/command.rdoc +1 -1
- data/doc/csharp.rdoc +49 -72
- data/doc/csharp.rdoc~ +37 -0
- data/doc/csharp_deprecated.rdoc +73 -0
- data/doc/homepage/index.html +5 -8
- data/doc/homepage/index.html~ +134 -0
- data/doc/sys.rdoc +14 -0
- data/lib/rant/coregen.rb~ +262 -0
- data/lib/rant/csharp/base_compiler_adapter.rb +125 -0
- data/lib/rant/csharp/base_compiler_adapter.rb~ +105 -0
- data/lib/rant/csharp/compiler_adapter_factory.rb +40 -0
- data/lib/rant/csharp/compiler_adapter_factory.rb~ +39 -0
- data/lib/rant/csharp/csc_compiler.rb +15 -0
- data/lib/rant/csharp/csc_compiler.rb~ +39 -0
- data/lib/rant/csharp/gmcs_compiler.rb +9 -0
- data/lib/rant/csharp/gmcs_compiler.rb~ +10 -0
- data/lib/rant/csharp/mcs_compiler.rb +13 -0
- data/lib/rant/csharp/mcs_compiler.rb~ +40 -0
- data/lib/rant/csharp/msc_compiler.rb~ +39 -0
- data/lib/rant/import/csharp.rb +48 -0
- data/lib/rant/import/csharp.rb~ +58 -0
- data/lib/rant/import/nunittest.rb +32 -0
- data/lib/rant/import/resgen.rb +21 -0
- data/lib/rant/import/resgen.rb~ +20 -0
- data/lib/rant/init.rb +1 -1
- data/lib/rant/rantlib.rb +1 -0
- data/lib/rant/rantlib.rb~ +1376 -0
- data/lib/rant/rantsys.rb +6 -0
- data/run_import +1 -1
- data/run_rant +1 -1
- data/test/import/package/test_package.rb~ +628 -0
- data/test/rule.rf +4 -0
- data/test/test_filetask.rb~ +97 -0
- data/test/test_rule.rb +10 -0
- data/test/test_sys_methods.rb +22 -0
- data/test/units/csharp/test_base_compiler_adapter.rb +107 -0
- data/test/units/csharp/test_base_compiler_adapter.rb~ +73 -0
- data/test/units/csharp/test_compiler_adapter_factory.rb +66 -0
- data/test/units/csharp/test_compiler_adapter_factory.rb~ +66 -0
- data/test/units/csharp/test_csc_compiler.rb +23 -0
- data/test/units/csharp/test_csc_compiler.rb~ +23 -0
- data/test/units/csharp/test_gmsc_compiler.rb +19 -0
- data/test/units/csharp/test_gmsc_compiler.rb~ +19 -0
- data/test/units/csharp/test_msc_compiler.rb +23 -0
- data/test/units/csharp/test_msc_compiler.rb~ +23 -0
- data/test/units/csharp_test_helper.rb +6 -0
- data/test/units/import/test_csharp.rb +127 -0
- data/test/units/import/test_csharp.rb~ +126 -0
- data/test/units/import/test_nunittest.rb +122 -0
- data/test/units/import/test_resgen.rb +107 -0
- data/test/units/import/test_resgen.rb~ +88 -0
- metadata +269 -224
data/NEWS
CHANGED
@@ -1,6 +1,18 @@
|
|
1
1
|
|
2
2
|
= Rant NEWS
|
3
3
|
|
4
|
+
== Rant 0.5.7
|
5
|
+
|
6
|
+
Fixes and minor improvements:
|
7
|
+
* Fixed: Rules wouldn't work if the target file was specified by an
|
8
|
+
absolute path. (Reported by Brendan Boesen.)
|
9
|
+
* Fixed: Script files use env ruby (Russel Windir)
|
10
|
+
|
11
|
+
New features:
|
12
|
+
* The method <tt>Rant::Sys.absolute_path?</tt>.
|
13
|
+
Read doc/sys.rdoc[link:files/doc/sys_rdoc.html] for documentation.
|
14
|
+
* Added non-deprecated support for C#. Read doc/csharp.rdoc[link:files/doc/csharp_rdoc.html] for documentation.
|
15
|
+
|
4
16
|
== Rant 0.5.6
|
5
17
|
|
6
18
|
Fixes and minor improvements:
|
data/README
CHANGED
@@ -38,7 +38,7 @@ Running rant in the directory of this file:
|
|
38
38
|
will ensure that the "data" file in the "backup" directory is up to
|
39
39
|
date.
|
40
40
|
|
41
|
-
This document was written for version 0.5.
|
41
|
+
This document was written for version 0.5.6 of Rant. Most things
|
42
42
|
described here will work for older/newer versions of Rant, but look at
|
43
43
|
the README file in the Rant distribution you've installed for exact
|
44
44
|
documentation of your Rant version.
|
@@ -85,7 +85,7 @@ Tasks with command change recognition::
|
|
85
85
|
Using the Configure plugin::
|
86
86
|
read doc/configure.rdoc[link:files/doc/configure_rdoc.html] *deprecated*
|
87
87
|
Compiling C#::
|
88
|
-
read doc/csharp.rdoc[link:files/doc/csharp_rdoc.html]
|
88
|
+
read doc/csharp.rdoc[link:files/doc/csharp_rdoc.html]
|
89
89
|
Common file system operations::
|
90
90
|
read doc/sys.rdoc[link:files/doc/sys_rdoc.html]
|
91
91
|
Upgrading::
|
@@ -179,6 +179,7 @@ Rant was tested on:
|
|
179
179
|
1.9
|
180
180
|
MacOS X 1.8.2
|
181
181
|
Windows XP 1.8.2 (OneClick Installer)
|
182
|
+
Windows XP 1.8.4 (OneClick Installer)
|
182
183
|
Windows 2000 1.8.2 (OneClick Installer)
|
183
184
|
|
184
185
|
It *should* run on most platforms where Ruby runs, but you never
|
@@ -208,4 +209,3 @@ basic concept and syntax of Rake and of course I could have written
|
|
208
209
|
code for Rake (e.g. with a so called _Tasklib_) to support portable C#
|
209
210
|
compilation. But it was a bit quirky and because I like to work with
|
210
211
|
Ruby, I decided to write my own build tool.
|
211
|
-
|
data/Rantfile
CHANGED
@@ -85,7 +85,13 @@ end
|
|
85
85
|
desc "Run basic tests."
|
86
86
|
gen RubyTest do |g|
|
87
87
|
g.libs << "test"
|
88
|
-
g.
|
88
|
+
g.test_files = sys["test/test_*.rb", "test/units/**/test_*.rb"]
|
89
|
+
end
|
90
|
+
|
91
|
+
desc "Run just unit tests."
|
92
|
+
gen RubyTest, "test:units".to_sym do |g|
|
93
|
+
g.libs << "test"
|
94
|
+
g.test_files = sys["test/units/**/test_*.rb"]
|
89
95
|
end
|
90
96
|
|
91
97
|
desc "Run first test-project."
|
data/doc/Untitled-1~
ADDED
data/doc/command.rdoc
CHANGED
data/doc/csharp.rdoc
CHANGED
@@ -1,73 +1,50 @@
|
|
1
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
|
-
for
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
as a normal task, meaning you could also add prerequisites:
|
52
|
-
gen Assembly, "myprog.exe" => :pre do |t|
|
53
|
-
.
|
54
|
-
.
|
55
|
-
.
|
56
|
-
The +libs+ attribute is a list of libraries the assembly will be
|
57
|
-
linked against, the +sources+ attribute should be clear and the
|
58
|
-
+resources+ attribute is a list of resources to be embedded in the
|
59
|
-
assembly.
|
60
|
-
|
61
|
-
Now let's see what is actually done by rant when we feed it this
|
62
|
-
Rantfile. We tell rant to build <tt>myprog.exe</tt>:
|
63
|
-
% rant myprog.exe
|
64
|
-
cscc -o myprog.exe -Wall -O2 -l System.Drawing.dll -l System.Windows.Forms.dll -fresources=res/MyProg.legend.png src/MyProg.cs src/Util.cs
|
65
|
-
This was on a Linux system, on Windows you'll probably see a command
|
66
|
-
with csc.
|
67
|
-
|
68
|
-
== See also
|
69
|
-
|
70
|
-
Rant Overview::
|
71
|
-
README[link:files/README.html]
|
72
|
-
Writing an Rantfile::
|
73
|
-
doc/rantfile.rdoc[link:files/doc/rantfile_rdoc.html]
|
2
|
+
== C# Compiling
|
3
|
+
|
4
|
+
Compiling a basic C# application is as simple as passing the desired filename and a list of source files to the +CSharp+ generator (assuming a C# compiler is in your path).
|
5
|
+
|
6
|
+
import 'csharp'
|
7
|
+
gen CSharp, "example.dll", :sources => sys["**/*.cs"]
|
8
|
+
|
9
|
+
This creates a file task called "example.dll". Source files can be specified as a +FileList+, array, or string. The created task is dependent on all source files, so if any of them change the dll will be recompiled. You can specify library and resource files in the same manner
|
10
|
+
|
11
|
+
gen CSharp, "example.dll", :sources => sys["**/*.cs"],
|
12
|
+
:libs => ["mylib.dll", "mylib2.dll"]
|
13
|
+
:res => "myres.resource"
|
14
|
+
|
15
|
+
The generator guesses what type of output you want by inspecting the file extension of the out file ("example.dll"). +exe+ will be compiled to +winexe+, +netmodule+ to +module+, and all others to +dll+. You can override this by providing a :target key in the parameter hash. Any other parameters you specify are passed through to the C# compiler.
|
16
|
+
|
17
|
+
gen CSharp, "example.exe", :sources => sys["**/*.cs"],
|
18
|
+
:target => "exe",
|
19
|
+
:warnaserror => true
|
20
|
+
|
21
|
+
== Alternate Compilers
|
22
|
+
|
23
|
+
The +CSharp+ generator searches your path for one of 3 known C# compilers - +csc+, +mcs+, and +gmcs+. You can specify a different compiler by providing a compiler adapter through the :compiler key. The existing compiler adapters provide a one parameter constructor that allows you to specify the path to that compiler. Or you can of course provide your own implementation.
|
24
|
+
|
25
|
+
csc11 = CscCompiler.new("/path/to/csc1.1")
|
26
|
+
gen CSharp, "example.dll", :sources => sys["**/*.cs"],
|
27
|
+
:compiler => csc11
|
28
|
+
|
29
|
+
== Resource Generation
|
30
|
+
|
31
|
+
A generator is provided to create a rule for compiling resource files with resgen. This is quite powerful as it allows you to simply reference the compiled resource files in you CSharp generator, and they will automatically be built as required.
|
32
|
+
|
33
|
+
import "resgen"
|
34
|
+
gen Resgen, :build_dir => "build/", :namespace => "Example"
|
35
|
+
|
36
|
+
# properties/resource.resx => build/Example.Properties.Resource.resources
|
37
|
+
# MyRes.resx => build/Example.MyRes.resources
|
38
|
+
|
39
|
+
== Running NUnit
|
40
|
+
|
41
|
+
You can easily run an NUnit test suite using the +NUnitTest+ generator
|
42
|
+
|
43
|
+
import "nunittest"
|
44
|
+
gen NUnitTest, "test", :dlls => ["mytest1.dll", "mytest2.dll"]
|
45
|
+
|
46
|
+
By default, nunit-console is used, and it must exist in your path. You can specify a different test runner using the :bin key. Any other arguments are passed through to the test runner
|
47
|
+
|
48
|
+
gen NUnitTest, "test", :dlls => sys["test/*.dll"],
|
49
|
+
:bin => "my-test-runner",
|
50
|
+
:xml => "results.xml"
|
data/doc/csharp.rdoc~
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
== C# Compiling
|
3
|
+
|
4
|
+
Compiling a basic C# application is as simple as passing the desired filename and a list of source files to the +CSharp+ generator (assuming a C# compiler is in your path).
|
5
|
+
|
6
|
+
import 'csharp'
|
7
|
+
gen CSharp, "example.dll", :sources => sys["**/*.cs"]
|
8
|
+
|
9
|
+
This creates a file task called "example.dll". Source files can be specified as a +FileList+, array, or string. The created task is dependent on all source files, so if any of them change the dll will be recompiled. You can specify library and resource files in the same manner
|
10
|
+
|
11
|
+
gen CSharp, "example.dll", :sources => sys["**/*.cs"],
|
12
|
+
:libs => ["mylib.dll", "mylib2.dll"]
|
13
|
+
:res => "myres.resource"
|
14
|
+
|
15
|
+
The generator guesses what type of output you want by inspecting the file extension of the out file ("example.dll"). +exe+ will be compiled to +winexe+, +netmodule+ to +module+, and all others to +dll+. You can override this by providing a :target key in the parameter hash. Any other parameters you specify are passed through to the C# compiler.
|
16
|
+
|
17
|
+
gen CSharp, "example.exe", :sources => sys["**/*.cs"],
|
18
|
+
:target => "exe",
|
19
|
+
:warnaserror => true
|
20
|
+
|
21
|
+
== Alternate Compilers
|
22
|
+
|
23
|
+
The +CSharp+ generator searches your path for one of 3 known C# compilers - +csc+, +mcs+, and +gmcs+. You can specify a different compiler by providing a compiler adapter through the :compiler key. The existing compiler adapters provide a one parameter constructor that allows you to specify the path to that compiler. Or you can of course provide your own implementation.
|
24
|
+
|
25
|
+
csc11 = CscCompiler.new("/path/to/csc1.1")
|
26
|
+
gen CSharp, "example.dll", :sources => sys["**/*.cs"],
|
27
|
+
:compiler => csc11
|
28
|
+
|
29
|
+
== Resource Generation
|
30
|
+
|
31
|
+
A generator is provided to create a rule for compiling resource files with resgen. This is quite powerful as it allows you to simply reference the compiled resource files in you CSharp generator, and they will automatically be built as required.
|
32
|
+
|
33
|
+
import "resgen"
|
34
|
+
gen Resgen, :build_dir => "build/", :namespace => "Example"
|
35
|
+
|
36
|
+
# properties/resource.resx => build/Example.Properties.Resource.resources
|
37
|
+
# MyRes.resx => build/Example.MyRes.resources
|
@@ -0,0 +1,73 @@
|
|
1
|
+
|
2
|
+
== Compiling C# sources
|
3
|
+
|
4
|
+
Support for C# is currently implemented as plugin. But expect that to
|
5
|
+
change in the near future. Also note that support for C# wasn't
|
6
|
+
heavily tested (but it works because I'm using it).
|
7
|
+
|
8
|
+
It is convinient to use the C# plugin in combination with the
|
9
|
+
Configure plugin. I'll show a short Rantfile first and explain it
|
10
|
+
afterwards.
|
11
|
+
|
12
|
+
conf = plugin :Configure do |conf|
|
13
|
+
desc "Configure build."
|
14
|
+
conf.task
|
15
|
+
desc "Interactive configure."
|
16
|
+
conf.task "ask-config", [:interact]
|
17
|
+
conf.init_modes = [:guess, :interact]
|
18
|
+
end
|
19
|
+
|
20
|
+
plugin :Csharp do |cs|
|
21
|
+
cs.config = conf
|
22
|
+
end
|
23
|
+
|
24
|
+
gen Assembly, "myprog.exe" do |t|
|
25
|
+
t.libs = %w(System.Drawing.dll System.Windows.Forms.dll)
|
26
|
+
t.sources = Dir["src/*.cs"]
|
27
|
+
t.resources = Dir["res/*.*"]
|
28
|
+
end
|
29
|
+
|
30
|
+
First we instantiate the Configure plugin and let it define two tasks
|
31
|
+
for us:
|
32
|
+
<tt>conf.task</tt>:: Creates a task with the name "configure" which
|
33
|
+
will first guess values and ask the user as
|
34
|
+
fallback if it can't guess the value.
|
35
|
+
<tt>conf.task "ask-config", [:interact]</tt>::
|
36
|
+
This task interactively asks the user for all values.
|
37
|
+
Afterwards we set the +init_modes+. Those decide what will be done on
|
38
|
+
a regular rant startup if the +config+ file doesn't exist. We tell it
|
39
|
+
to first guess configure values and to fall back to interactive mode
|
40
|
+
if necessary.
|
41
|
+
|
42
|
+
Then we instantiate the Csharp plugin and connect it with the
|
43
|
+
Configure plugin. As a result of this operation, the Csharp plugin
|
44
|
+
will define three configure _checks_:
|
45
|
+
1. The command to invoke the C# compiler.
|
46
|
+
2. If optimization should be turned on.
|
47
|
+
3. If debug information should be generated.
|
48
|
+
|
49
|
+
And last but not least we let generate a task to compile our program
|
50
|
+
<tt>myprog.exe</tt>. The +Assembly+ generator takes the same argument
|
51
|
+
as a normal task, meaning you could also add prerequisites:
|
52
|
+
gen Assembly, "myprog.exe" => :pre do |t|
|
53
|
+
.
|
54
|
+
.
|
55
|
+
.
|
56
|
+
The +libs+ attribute is a list of libraries the assembly will be
|
57
|
+
linked against, the +sources+ attribute should be clear and the
|
58
|
+
+resources+ attribute is a list of resources to be embedded in the
|
59
|
+
assembly.
|
60
|
+
|
61
|
+
Now let's see what is actually done by rant when we feed it this
|
62
|
+
Rantfile. We tell rant to build <tt>myprog.exe</tt>:
|
63
|
+
% rant myprog.exe
|
64
|
+
cscc -o myprog.exe -Wall -O2 -l System.Drawing.dll -l System.Windows.Forms.dll -fresources=res/MyProg.legend.png src/MyProg.cs src/Util.cs
|
65
|
+
This was on a Linux system, on Windows you'll probably see a command
|
66
|
+
with csc.
|
67
|
+
|
68
|
+
== See also
|
69
|
+
|
70
|
+
Rant Overview::
|
71
|
+
README[link:files/README.html]
|
72
|
+
Writing an Rantfile::
|
73
|
+
doc/rantfile.rdoc[link:files/doc/rantfile_rdoc.html]
|
data/doc/homepage/index.html
CHANGED
@@ -89,9 +89,9 @@
|
|
89
89
|
<a
|
90
90
|
href="http://rubyforge.org/tracker/?func=add&group_id=615&atid=2428">Report a bug</a><br/>
|
91
91
|
<a title="Subversion repository for Rant development"
|
92
|
-
href="http://
|
92
|
+
href="http://rubyforge.org/scm/?group_id=615">Repository</a><br/>
|
93
93
|
<a title="Browse source code repository."
|
94
|
-
href="http://
|
94
|
+
href="http://rubyforge.org/cgi-bin/viewvc.cgi/?root=make">WebSVN</a><br/>
|
95
95
|
</p>
|
96
96
|
</div>
|
97
97
|
|
@@ -120,12 +120,9 @@
|
|
120
120
|
<p>
|
121
121
|
<a href="http://validator.w3.org/check?uri=referer"><img
|
122
122
|
src="http://www.w3.org/Icons/valid-xhtml10"
|
123
|
-
alt="Valid XHTML 1.0!" height="31" width="88"
|
124
|
-
|
125
|
-
|
126
|
-
src="http://developer.berlios.de/bslogo.php?group_id=5046"
|
127
|
-
width="124px" height="32px" alt="BerliOS
|
128
|
-
Developer Logo" /></a>
|
123
|
+
alt="Valid XHTML 1.0!" height="31" width="88"
|
124
|
+
border="0"/></a>
|
125
|
+
|
129
126
|
</p>
|
130
127
|
|
131
128
|
<!-- BlueRobot was here. -->
|
@@ -0,0 +1,134 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
3
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
+
|
6
|
+
<!--
|
7
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
8
|
+
"http://www.w3.org/TR/html4/strict.dtd">
|
9
|
+
|
10
|
+
<html>
|
11
|
+
-->
|
12
|
+
<head>
|
13
|
+
<title>Rant</title>
|
14
|
+
<style type="text/css" media="screen">@import "rant_home.css";</style>
|
15
|
+
</head>
|
16
|
+
|
17
|
+
<body>
|
18
|
+
|
19
|
+
<div class="content">
|
20
|
+
<h1>Rant - Flexible, Ruby based make</h1>
|
21
|
+
<p>
|
22
|
+
Similar to make, the rant commandline tool reads a file called
|
23
|
+
Rantfile, which contains task definitions. Unlike make, however, an
|
24
|
+
Rantfile is just a valid script written in the Ruby programming
|
25
|
+
language. Since Ruby comes with many useful libraries and is
|
26
|
+
portable across many different operating systems, it's very easy to
|
27
|
+
write portable Rantfiles.
|
28
|
+
</p>
|
29
|
+
<h2>Striking features:</h2>
|
30
|
+
<ul>
|
31
|
+
<li>Defining custom tasks.</li>
|
32
|
+
<li>Automated packaging, testing and RDoc generation for Ruby
|
33
|
+
applications and libraries.</li>
|
34
|
+
<li>Creation of a monolithic script tailored to the needs of a
|
35
|
+
specific project which can be used instead of an Rant
|
36
|
+
installation - users don't need to install Rant.</li>
|
37
|
+
<li>Creating gzipped tar and zip archives -- without installing
|
38
|
+
additional software.
|
39
|
+
</li>
|
40
|
+
<li>Optional recognition of file changes based on MD5
|
41
|
+
checksums instead of file modification times.
|
42
|
+
</li>
|
43
|
+
<li>Primitive support for compiling C# sources with csc, cscc
|
44
|
+
and mcs.</li>
|
45
|
+
<li>Dependency checking for C/C++ source files (integrated
|
46
|
+
makedepend replacement).</li>
|
47
|
+
</ul>
|
48
|
+
</div>
|
49
|
+
|
50
|
+
<div class="content">
|
51
|
+
<h2>Getting started</h2>
|
52
|
+
<dl>
|
53
|
+
<dt>1. Install Ruby</dt>
|
54
|
+
<dd>
|
55
|
+
Issue the command: <tt>% ruby --version</tt> <br/>
|
56
|
+
which prints the Ruby version number you've installed. If it
|
57
|
+
isn't equal or higher to 1.8.0, get a newer version from the <a
|
58
|
+
href="http://www.ruby-lang.org/en/">Ruby homepage</a> or
|
59
|
+
the <a href="http://rubyforge.org/projects/rubyinstaller/">One-Click Installer for Windows</a>.
|
60
|
+
</dd>
|
61
|
+
<dt>2. Install Rant</dt>
|
62
|
+
<dd>
|
63
|
+
Issue the command: <tt>% gem install --remote rant</tt><br/>
|
64
|
+
which should download and install Rant. If you don't have the
|
65
|
+
gem command, download the package from <a
|
66
|
+
href="http://rubyforge.org/frs/?group_id=615">RubyForge</a>,
|
67
|
+
unpack it and run <tt>% ruby install.rb</tt>.
|
68
|
+
</dd>
|
69
|
+
<dt>3. Read the <strong>documentation</strong></dt>
|
70
|
+
<dd>If you want to start with the basics, continue <a
|
71
|
+
href="files/doc/rantfile_rdoc.html">here</a>.
|
72
|
+
</dd>
|
73
|
+
<dd>If you want to get an overview, continue <a
|
74
|
+
href="files/README.html">here</a>.
|
75
|
+
</dd>
|
76
|
+
</dl>
|
77
|
+
</div>
|
78
|
+
|
79
|
+
<div id="navAlpha">
|
80
|
+
<h2>Links</h2>
|
81
|
+
<p>
|
82
|
+
<a href="files/NEWS.html">ChangeLog</a><br/>
|
83
|
+
<!--a href="api.html">API docs</a><br/-->
|
84
|
+
<a href="http://rubyforge.org/projects/make/">Project page</a><br/>
|
85
|
+
<a title="Subscribe to mailing list"
|
86
|
+
href="http://rubyforge.org/mailman/listinfo/make-cafe">Mailing list</a><br/>
|
87
|
+
<a title="Browse mailing list archives"
|
88
|
+
href="http://rubyforge.org/pipermail/make-cafe/">List archives</a><br/>
|
89
|
+
<a
|
90
|
+
href="http://rubyforge.org/tracker/?func=add&group_id=615&atid=2428">Report a bug</a><br/>
|
91
|
+
<a title="Subversion repository for Rant development"
|
92
|
+
href="http://developer.berlios.de/svn/?group_id=5046">Repository</a><br/>
|
93
|
+
<a title="Browse source code repository."
|
94
|
+
href="http://svn.berlios.de/wsvn/rant">WebSVN</a><br/>
|
95
|
+
</p>
|
96
|
+
</div>
|
97
|
+
|
98
|
+
<div id="navBeta">
|
99
|
+
<h2>Documentation</h2>
|
100
|
+
<a href="files/README.html">User Manual</a><br/>
|
101
|
+
<hr/>
|
102
|
+
<h2>Updating</h2>
|
103
|
+
<p>
|
104
|
+
Always read the <a href="files/NEWS.html">ChangeLog</a>
|
105
|
+
before installing a newer version of Rant. It describes
|
106
|
+
non-backwards compatible changes and new features.
|
107
|
+
</p>
|
108
|
+
<h2>Rant libraries</h2>
|
109
|
+
<p>
|
110
|
+
You can reuse code written for the Rant build tool as
|
111
|
+
"normal" Ruby library. Read <a
|
112
|
+
href="files/doc/rubylib_rdoc.html">Rant libraries</a>
|
113
|
+
</p>
|
114
|
+
<h2>Rant vs. Rake</h2>
|
115
|
+
<p>
|
116
|
+
<a href="files/doc/rant_vs_rake_rdoc.html">Read comparison</a>
|
117
|
+
</p>
|
118
|
+
</div>
|
119
|
+
|
120
|
+
<p>
|
121
|
+
<a href="http://validator.w3.org/check?uri=referer"><img
|
122
|
+
src="http://www.w3.org/Icons/valid-xhtml10"
|
123
|
+
alt="Valid XHTML 1.0!" height="31" width="88" /></a>
|
124
|
+
<a href="http://developer.berlios.de" title="BerliOS
|
125
|
+
Developer"> <img
|
126
|
+
src="http://developer.berlios.de/bslogo.php?group_id=5046"
|
127
|
+
width="124px" height="32px" alt="BerliOS
|
128
|
+
Developer Logo" /></a>
|
129
|
+
</p>
|
130
|
+
|
131
|
+
<!-- BlueRobot was here. -->
|
132
|
+
|
133
|
+
</body>
|
134
|
+
</html>
|