Sha256: 4b30a607c9b952e035ec7d2c878bbecc6d66032736236a621a17a2385fa2c77e
Contents?: true
Size: 1.84 KB
Versions: 10
Compression:
Stored size: 1.84 KB
Contents
require 'rake_task_lib' require 'dbi' DBD_PACKAGES = Dir['lib/dbd/*.rb'].collect { |x| File.basename(x, '.rb') } # creates a number of tasks like dbi:task_name, dbd_mysql:task_name, so on. # Builds these out into an array that can be used as a prereq for other tasks. def map_task(task_name) namespaces = (['dbi'] + DBD_PACKAGES.collect { |x| dbd_namespace(x) }).flatten namespaces.collect { |x| [x, task_name].join(":") } end task :package => (map_task("package") + map_task("gem")) task :clobber_package => map_task("clobber_package") desc 'Run interface tests (no database connectivity required)' task :test_dbi do ruby("test/ts_dbi.rb") end desc 'Run database-specific tests' task :test_dbd do ruby("test/ts_dbd.rb") end desc 'Run full test suite' task :test => [:test_dbi, :test_dbd] build_dbi_tasks # # There's probably a better way to do this, but here's a boilerplate spec that we dup and modify. # task :ydbi => DEFAULT_TASKS.collect { |x| "ydbi:#{x.to_s}" } namespace :ydbi do code_files = %w(examples/**/* bin/dbi build/Rakefile.dbi.rb lib/dbi.rb lib/dbi/**/*.rb test/ts_dbi.rb test/dbi/*) spec = boilerplate_spec spec.name = 'ydbi' spec.version = DBI::VERSION spec.test_file = 'test/ts_dbi.rb' spec.executables = ['dbi', 'test_broken_dbi'] spec.files = gem_files(code_files) spec.summary = 'A vendor independent interface for accessing databases, similar to Perl\'s DBI' spec.description = 'Branch by ywesee com, as our patches were never accepted by upstream' spec.add_dependency 'deprecated', '= 2.0.1' build_package_tasks(spec, code_files) end DBD_PACKAGES.each do |dbd| my_namespace = dbd_namespace(dbd) task my_namespace => DEFAULT_TASKS.collect { |x| "#{my_namespace}:#{x.to_s}" } namespace my_namespace do build_dbd_tasks(dbd) end end
Version data entries
10 entries across 10 versions & 1 rubygems