Shell commands
cd MRUBY_DIR do end
sh "curl", "-o", MRUBY_DOWNLOAD, …
ruby "my_script.rb"
mv "a.txt", "b.txt"
rm_rf "tmp"
Slide 24
Slide 24 text
Execu)on directory
task "current_directory" do
puts "rake's current directory is #{Dir.pwd}"
end
Slide 25
Slide 25 text
Execu)on directory
$ rake current_directory
rake's current directory is ~/tmp/rake-example
$ cd lib
$ rake current_directory
(in ~/tmp/rake-example)
rake's current directory is ~/tmp/rake-example
One Thing per Task
file MRUBY_EXE => MRUBY_DOWNLOAD do
# 1. unpack MRUBY_DOWNLOAD
# 2. build mruby
end
Slide 30
Slide 30 text
One Thing per Task
MRUBY_DIR = "tmp/mruby-1.2.0"
directory MRUBY_DIR => MRUBY_DOWNLOAD do
# unpack MRUBY_DOWNLOAD
end
file MRUBY_EXE => MRUBY_DIR do
# build mruby
end
Task Arguments
task "name", [:first, :last] do |t, args|
args.with_defaults first: "Jamie",
last: "Smith"
puts "First name is #{args[:first]}"
puts "Last name is #{args[:last]}"
end
Slide 44
Slide 44 text
Task Arguments
$ rake name
First name is Jamie
Last name is Smith
$ rake name[Eric,Hodel]
First name is Eric
Last name is Hodel
Slide 45
Slide 45 text
Task Arguments
$ rake name[Eric, Hodel]
rake aborted!
Don't know how to build task
'name[Eric,' (see --tasks)