Make it Rake
I’ve heard people say great things Apache Ant and old faithful make, but I haven’t heard enough people talking about how wonderful rake is to work with. I’ve used rake for many simple and complex tasks, from importing YAML files into a Rails project, to managing LDAP users. Rake offers the full power of Ruby, but still offers a fairly simple DSL.
Here’s an excellent railscast about rake: http://railscasts.com/episodes/66-custom-rake-tasks.
Here’s some code that demonstrates creating a simple rake task:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
task :mkdirs do # Let's create some directories ["lib", "conf", "src"].each do |dir| Dir.mkdirs(dir) unless File.directory?(dir) end end # This task requires the 'mkdirs' task task :copy_source => :mkdirs do require 'ftools' # Copy the source into the src directory... ["main.rb", "classes.rb"].each do |file| File.copy("/path/to/sources/#{file}", "src/#{file}") end end |
These two simple tasks create some directories and copy some source files. It also demonstrates task dependencies and pure Ruby file operations.
