#sys.ignore ".svn", /^\..*\.swp$/ NAME = "mspire" ENV["OS"] == "Windows_NT" ? WIN32 = true : WIN32 = false gemcmd = "gem" if WIN32 unless ENV["TERM"] == "cygwin" gemcmd << ".cmd" end end import %w(rubytest rubydoc rubypackage clean autoclean subfile) lib_files = sys["lib/**/*"] dist_files = lib_files + sys["INSTALL", "README", "Rantfile", "LICENSE", "{test,bin,script,tutorial}/**/*"] desc "Run unit tests." gen RubyTest do |t| t.test_dir = "test" t.pattern = "tc_*.rb" end #desc "Run all tests" #task :test do # sys.cd "test" # sys["tc_*.rb"].each do |file| # sys "ruby #{file}" # end # sys.cd ".." #end task :tutorial => [] do sys.cd 'tutorial' do sys "ruby ./gen_database_searching.rb" end end tutorial_files = %w(cat_db_search database_searching two_db_search).map {|f| "tutorial/#{f}"} gen RubyDoc, :api do |t| t.opts = ['--title', NAME, '--main', 'README', 'README', 'INSTALL'] t.opts.push(*(sys["tutorial/**/*"].to_a)) end desc "Generate html documentation" task :doc => [:tutorial, :api] desc "Create packages." gen RubyPackage, NAME do |t| t.version = "0.1.3" t.summary = "Mass Spectrometry Proteomics Objects, Scripts, and Executables" t.files = dist_files t.bindir = "bin" t.executable = sys["bin/*"].collect {|file| File.basename(file) } t.test_files = sys["test/tc_*.rb"] t.package_task end task :install => [:reinstall] desc "uninstalls the package, packages a fresh one, and installs" task :reinstall => [:clean, :package] do reply = `#{gemcmd} list -l #{NAME}` if reply.include? NAME + " (" sys "#{gemcmd} uninstall -x #{NAME}" end sys.cd "pkg" sys "#{gemcmd} install #{NAME}" sys.cd ".." end desc "Remove autogenerated and backup files." gen Clean var[:clean].include "doc", "pkg", "*~", tutorial_files