52 lines
968 B
Ruby
52 lines
968 B
Ruby
|
require 'rake'
|
||
|
require 'rake/testtask'
|
||
|
|
||
|
desc 'Default: build and install.'
|
||
|
task :default => :build
|
||
|
|
||
|
desc 'Run performance tests.'
|
||
|
Rake::TestTask.new(:test) do |t|
|
||
|
t.libs = [] #reference the installed gem instead
|
||
|
t.pattern = 'test/*_test.rb'
|
||
|
t.verbose = true
|
||
|
end
|
||
|
|
||
|
task :build do |t|
|
||
|
configure
|
||
|
install
|
||
|
end
|
||
|
|
||
|
def configure
|
||
|
puts "** building gem"
|
||
|
puts %x{gem build mysqlplus.gemspec}
|
||
|
end
|
||
|
|
||
|
def install
|
||
|
puts "** installing gem"
|
||
|
_mysql_config = mysql_config
|
||
|
puts "** using mysql_config: #{_mysql_config}"
|
||
|
puts %x{sudo gem install mysqlplus-#{version}.gem -- --with-mysql-config=#{_mysql_config}}
|
||
|
end
|
||
|
|
||
|
def gem_spec
|
||
|
@gem_spec ||= eval( IO.read( 'mysqlplus.gemspec') )
|
||
|
end
|
||
|
|
||
|
def version
|
||
|
gem_spec.version.to_s
|
||
|
end
|
||
|
|
||
|
def mysql_configs
|
||
|
%w(mysql_config mysql_config5)
|
||
|
end
|
||
|
|
||
|
def mysql_config
|
||
|
mysql_configs.each do |config|
|
||
|
path = mysql_config!( config )
|
||
|
return path unless path.empty?
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def mysql_config!( config )
|
||
|
%x{which #{config}}
|
||
|
end
|