== Rant::Env.find_bin...
... could honour PATHEXT on windows.
== Task alias
Since +alias+ is a Ruby keyword, we could use +nick+ to create task
alises.
Other choices: short, cut, name, label, syn, synonym, ident, term,
shortcut, abbreviation, link
== Here docs
Don't use here documents in the Rant sources, imports and plugins.
They'll get messed up by the rant-import command.
== More notes on rant-import
rant-import removes all lines matching /^\s*#/ per default. Remember
that, I was already bitten by that one in multiline regex!
(FileList#mk_all_rx)
== Running RDoc programmatically
require 'rdoc/rdoc'
rdoc = RDoc::RDoc.new
begin
rdoc.document(%w(like args from commandline))
rescue RDoc::RDocError
$stderr.puts "Error when running rdoc: " + $!.message
end
== Changing the behaviour of Rant from Rantfiles
Perhaps a method named like `behave' would be appropriate to to
set options of the Rant application.
== Subdirectories
Allow the use of `#' at the start of a pathname to tell rant that
it should be interpreted relative to the project's root directory.
== Directory structure of +lib/+
+lib/+ contains only two entries:
[rant.rb] Used to require rantlib and include +Rant+ for small
build scripts.
[rant/] All files matching /^rant\w+\.rb$/ are considered
as Rant core. Others contain utilities, helper classes,
Generators and similar.
[rant/plugin] Each file ending in .rb in this directory is
considered to load support for one Rant plugin.
== Performance
With version 0.2.6, the big performance problem with task lookup
(caused very slow dependency resolving) is fixed.
The next performance improvement should target Rantfile reading,
especially task creation.
== RubyPackage generator
Currently, the package task(s) generated by RubyPackage doesn't
recognize (and repackage) when files/directories are removed (from the
sources).
== Unit tests
The unit tests contain many assertions of the form
assert_equal(Rant.run(...), 0)
which are wrong, because the first argument should be the expected
result!
== FileList < Array problems
There arise some severe problems. E.g. the Array#flatten method:
[FileList["*.rb"]].flatten
The +flatten+ method doesn't call *any* method of our FileList but
it recognizes that it is an Array and copies the elements directly.
So there is *no* way to resolve the glob pattern and there will never
any Ruby file be selected!
== Subdirectories
Rant would have to check and eventually +cd+ before doing one of the
following:
* Loading an Rantfile (even through +source+).
* Worker#invoke
* Worker#needed?
* RantApp#run before returning.
== RantContext#rantapp rename
Rename +rantapp+ to +rac+.
Done.
== Circular dependencies
Before Rant detected circular dependencies, we silently removed a task
dependency on itself. Should we remove this mechanism now?
== Testing
Files/directories created during tests match the glob *.t*
so don't give names matching this pattern to regular files, as they
would soon be deleted!
== Compiling C
make uses the env. variables CC and CFLAGS.
# vim:tw=70: