require 'pathname' source 'http://rubygems.org' SOURCE = ENV.fetch('SOURCE', :git).to_sym REPO_POSTFIX = SOURCE == :path ? '' : '.git' DATAMAPPER = SOURCE == :path ? Pathname(__FILE__).dirname.parent : 'http://github.com/datamapper' DM_VERSION = '~> 1.1.0.rc1' group :runtime do if ENV['EXTLIB'] gem 'extlib', '~> 0.9.15', SOURCE => "#{DATAMAPPER}/extlib#{REPO_POSTFIX}", :require => nil else gem 'activesupport', '~> 3.0.4', :require => nil gem 'i18n', '~> 0.5.0' end gem 'dm-core', DM_VERSION, SOURCE => "#{DATAMAPPER}/dm-core#{REPO_POSTFIX}" end group :development do gem 'jeweler', '~> 1.5.2' gem 'rake', '~> 0.8.7' gem 'rspec', '~> 1.3.1' end group :quality do gem 'rcov', '~> 0.9.9', :platforms => :mri_18 gem 'yard', '~> 0.6' gem 'yardstick', '~> 0.2' end group :datamapper do adapters = ENV['ADAPTER'] || ENV['ADAPTERS'] adapters = adapters.to_s.tr(',', ' ').split.uniq - %w[ in_memory ] DO_VERSION = '~> 0.10.2' DM_DO_ADAPTERS = %w[ sqlite postgres mysql oracle sqlserver ] if (do_adapters = DM_DO_ADAPTERS & adapters).any? options = {} options[:git] = "#{DATAMAPPER}/do#{REPO_POSTFIX}" if ENV['DO_GIT'] == 'true' gem 'data_objects', DO_VERSION, options.dup do_adapters.each do |adapter| adapter = 'sqlite3' if adapter == 'sqlite' gem "do_#{adapter}", DO_VERSION, options.dup end gem 'dm-do-adapter', DM_VERSION, SOURCE => "#{DATAMAPPER}/dm-do-adapter#{REPO_POSTFIX}" end adapters.each do |adapter| gem "dm-#{adapter}-adapter", DM_VERSION, SOURCE => "#{DATAMAPPER}/dm-#{adapter}-adapter#{REPO_POSTFIX}" end plugins = ENV['PLUGINS'] || ENV['PLUGIN'] plugins = plugins.to_s.tr(',', ' ').split.push('dm-migrations').uniq plugins.each do |plugin| gem plugin, DM_VERSION, SOURCE => "#{DATAMAPPER}/#{plugin}#{REPO_POSTFIX}" end end