On Tuesday 29 March 2005 22:10, Stefan Lang wrote: > On Tuesday 29 March 2005 21:19, DaZoner wrote: > > I've read the rake docs online and I've got a very simple rakefile to > > work. Now I'd like to make it more complex and I can't figure out how to > > do it. Can anyone let me know if what I want to do is possible and how to > > do it? > > > > Why doesn't the following rakefile print "Making ..."? > > > > task :default => [:build] > > > > task :build do > > print "In build\n" > > file "newzip.zip" do |t| > > print "Making ",t.name,"\n" > > end > > end > > > > Also I'd like to give the filetask prereq's saying only do this step if > > the file is out of date with *.rb and data/*.dat. Can I do this? Does it > > look like this? > > > > file "zipfile.zip" => ["*.rb","data/*.dat"] do |t| > > end > > > > Thanks for your help. > > I think you really want this: > > task :default => ["newzip.zip"] > > file "newzip.zip" => ["*.rb", "data/*.dat"] do |t| ^^^^^^^^^^^^^^^^^^^^^^ Sorry. Should be: FileList["*.rb", "data/*.dat"] > puts "Making #{t.name}" > end > > The "file" function already defines a task for you. > You don't need to wrap a task around you "file" definition. > > When your "build" task was run, it *defined* the "newzip.zip" task. > > Stefan