require 'reap/tasks' # Traditionally, a prebuilt rake task is utilized like this: # # Reap::PublishTask.new :mypublisher do |s| # s.type = 'web' # s.host = 'rubyforge.org' # s.username = 'transami' # s.dir = 'pub/www' # end # # Reap provides a way to use YAML and specilize methods to make # this even cleaner. # # publish_task( :mypublisher ) {" # type : web # host : rubyforge.org # username : transami # dir : pub/www # "} # # Of course, one can still use a traditional block with the # special methods. # # publish_task :mypublisher do |s| # s.type = 'web' # s.host = 'rubyforge.org' # s.username = 'transami' # s.dir = 'pub/www' # end # # But there is an additional advantage to the YAML approach. Reap prepends # the task YAML with the YAML in the ProjectInfo file. This way it is easy # to reuse master information in indivial tasks. For exmaple you might have # an# &author anchor defined in ProjectInfo. # # publish_task( :mypublisher ) {" # type : web # host : rubyforge.org # username : *author # dir : pub/www # "} # # This special method notation actually works for some prebuilt rake tasks too. # But do not expect the YAML to work /w them. # # template_task include ReapTask info_task( :info ) publish_task :publish do" type : web host : rubyforge.org username : transami dir : www "end announce_task :announce do" to : transfire@gmail.com # ruby-talk@ruby-lang.org from : *email domain : reap.rubyforge.org server : smtp.gmail.com port : 587 account : *email # transfire@gmail.com authtype : login # cram_md5, plain sectype : tls # ~, tls, ssl (not working yet) file : ANN # which file contains announcement slogan : REAP THE REWARDS! links : - http://reap.rubyforge.org - http://rake.rubyforge.org "end filemod_task :filemod do" filemod: 644 dirmod: 755 user: trans group: users "end test_task :test do" files: - 'test/**/tc*.rb' - 'test/**/test*.rb' - 'test/**/*test.rb' options: ~ # not used yet "end rdoc_task :rdoc do" title: *title dir: 'pub/www/rdoc' template: html options: ['--merge', '--all'] main: README include: - 'README*' - 'LICEN*' - 'COPY*' - 'lib/**/*.rb' - 'bin/**/*.rb' exclude: [] "end package_task :package do" dir: pkg include: - 'lib/**/*' - 'data/**/*' - 'ext/**/*' - 'bin/**/*' - 'bench/**/*' - 'test/**/*' - 'doc/**/*' - 'rdoc/**/*' - 'pub/**/*' - 'www/**/*' - 'demo/**/*' - 'samples/**/*' - 'examples/**/*' - 'bench/**/*' - 'setup.rb' - '[A-Z]*' exclude: - InstalledFiles autorequire: ~ requirements: [] dependencies: *dep #[] executables: *exe #[] gem: true zip: true gzip: true bzip2: true "end noop_task :noop do" message: 'Hello, World!' "end