summaryrefslogtreecommitdiff
path: root/Rakefile
diff options
context:
space:
mode:
Diffstat (limited to 'Rakefile')
-rwxr-xr-x[-rw-r--r--]Rakefile63
1 files changed, 41 insertions, 22 deletions
diff --git a/Rakefile b/Rakefile
index 3c39279..e8e2a92 100644..100755
--- a/Rakefile
+++ b/Rakefile
@@ -1,30 +1,48 @@
require 'rubygems'
require 'rake'
-require 'tasks/opentox'
-REPORT_GEMS = ['rubygems', 'logger', 'fileutils', 'sinatra', 'sinatra/url_for', 'rest_client',
- 'yaml', 'opentox-ruby-api-wrapper', 'fileutils', 'mime/types', 'abbrev',
- 'rexml/document', 'active_record', 'ar-extensions', 'ruby-plot']
-VALIDATION_GEMS = [ 'rubygems', 'sinatra', 'sinatra/url_for', 'opentox-ruby-api-wrapper', 'logger', 'active_record', 'ar-extensions' ]
+REPORT_GEMS = [ 'opentox-ruby', 'mime-types', 'ruby-plot', 'rinruby'] #'ar-extensions', 'activerecord', 'activesupport',
+VALIDATION_GEMS = [ 'opentox-ruby', 'ruby-plot'] #'ar-extensions', 'activerecord', 'activesupport',
+GEM_VERSIONS = { "ruby-plot" => "= 0.0.2" }
+GEM_INSTALL_OPTIONS = {}
+
+#GEM_VERSIONS = { "activerecord" => "= 2.3.8", "activesupport" => "= 2.3.8", "ar-extensions" => "= 0.9.2", "ruby-plot" => "= 0.0.2" }
+## this is needed because otherwihse ar-extensions adds activesupport 3.0.0 which confuses things
+#GEM_INSTALL_OPTIONS = { "ar-extensions" => "--ignore-dependencies" }
desc "Install required gems"
task :install_gems do
(REPORT_GEMS + VALIDATION_GEMS).uniq.each do |g|
begin
- print "> require "+g+" .. "
- require g
+ if GEM_VERSIONS.has_key?(g)
+ print "> gem "+g+", '"+GEM_VERSIONS[g]+"' .. "
+ gem g, GEM_VERSIONS[g]
+ else
+ print "> gem "+g+" .. "
+ gem g
+ end
puts "ok"
rescue LoadError => ex
puts "NOT FOUND"
- cmd = "sudo env PATH=$PATH gem install "+g
+ options = ""
+ options += "--version '"+GEM_VERSIONS[g]+"' " if GEM_VERSIONS.has_key?(g)
+ options += GEM_INSTALL_OPTIONS[g]+" " if GEM_INSTALL_OPTIONS.has_key?(g)
+ cmd = "sudo env PATH=$PATH gem install "+options+" "+g
+ puts "installing gem, this may take some time..."
puts cmd
IO.popen(cmd){ |f| puts f.gets }
end
end
end
+desc "Perform unit tests"
+task :test do
+ require 'test/unit_test.rb'
+end
+
+=begin
desc "Installs gems and inits db migration"
task :init => [:install_gems, :migrate] do
@@ -35,44 +53,45 @@ end
desc "load config"
task :load_config do
require 'yaml'
- ENV['RACK_ENV'] = 'test' unless ENV['RACK_ENV']
+ ENV['RACK_ENV'] = 'production' unless ENV['RACK_ENV']
basedir = File.join(ENV['HOME'], ".opentox")
config_dir = File.join(basedir, "config")
config_file = File.join(config_dir, "#{ENV['RACK_ENV']}.yaml")
if File.exist?(config_file)
- @@config = YAML.load_file(config_file)
- raise "could not load config, config file: "+config_file.to_s unless @@config
+ CONFIG = YAML.load_file(config_file)
+ raise "could not load config, config file: "+config_file.to_s unless CONFIG
end
puts "config loaded"
end
-# USER VERSION 0 instead
+# USE VERSION 0 instead
#desc "Clear database"
#task :clear_db => :load_config do
-# if @@config[:database][:adapter]=="mysql"
+# if CONFIG[:database][:adapter]=="mysql"
# clear = nil
# IO.popen("locate clear_mysql.sh"){ |f| clear=f.gets.chomp("\n") }
# raise "clear_mysql.sh not found" unless clear
-# cmd = clear+" "+@@config[:database][:username]+" "+@@config[:database][:password]+" "+@@config[:database][:database]
+# cmd = clear+" "+CONFIG[:database][:username]+" "+CONFIG[:database][:password]+" "+CONFIG[:database][:database]
# IO.popen(cmd){ |f| puts f.gets }
# else
-# raise "clear not implemented for database-type: "+@@config[:database][:adapter]
+# raise "clear not implemented for database-type: "+CONFIG[:database][:adapter]
# end
#end
desc "Migrate the database through scripts in db/migrate. Target specific version with VERSION=x"
task :migrate => :load_config do
- require 'active_record'
+ [ 'rubygems', 'active_record', 'logger' ].each{ |l| require l }
+ puts "database config: "+@@config[:database].inspect.to_s
ActiveRecord::Base.establish_connection(
- :adapter => @@config[:database][:adapter],
- :host => @@config[:database][:host],
- :database => @@config[:database][:database],
- :username => @@config[:database][:username],
- :password => @@config[:database][:password]
+ :adapter => CONFIG[:database][:adapter],
+ :host => CONFIG[:database][:host],
+ :database => CONFIG[:database][:database],
+ :username => CONFIG[:database][:username],
+ :password => CONFIG[:database][:password]
)
ActiveRecord::Base.logger = Logger.new($stdout)
ActiveRecord::Migrator.migrate('db/migrate', ENV["VERSION"] ? ENV["VERSION"].to_i : 2 )
end
-
+=end