diff --git a/Gemfile b/Gemfile index b92405bf9..617291d3c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,94 +1,94 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org" def location_for(place, fake_version = nil) if place =~ /^(git[:@][^#]*)#(.*)/ [fake_version, { :git => $1, :branch => $2, :require => false }].compact elsif place =~ /^file:\/\/(.*)/ ['>= 0', { :path => File.expand_path($1), :require => false }] else [place, { :require => false }] end end # C Ruby (MRI) or Rubinius, but NOT Windows platforms :ruby do gem 'pry', :group => :development gem 'yard', :group => :development gem 'redcarpet', '~> 2.0', :group => :development gem "racc", "1.4.9", :group => :development # To enable the augeas feature, use this gem. # Note that it is a native gem, so the augeas headers/libs # are neeed. #gem 'ruby-augeas', :group => :development end gem "puppet", :path => File.dirname(__FILE__), :require => false -gem "facter", *location_for(ENV['FACTER_LOCATION'] || ['> 1.6', '< 3']) -gem "hiera", *location_for(ENV['HIERA_LOCATION'] || '~> 1.0') +gem "facter", *location_for(ENV['FACTER_LOCATION'] || ['> 2.0', '< 4']) +gem "hiera", *location_for(ENV['HIERA_LOCATION'] || ['> 1.0', '< 3']) gem "rake", "10.1.1", :require => false group(:development, :test) do gem "rspec", "~> 3.1", :require => false gem "rspec-its", "~> 1.1", :require => false gem "rspec-collection_matchers", "~> 1.1", :require => false gem "rspec-legacy_formatters", "~> 1.0", :require => false # Mocha is not compatible across minor version changes; because of this only # versions matching ~> 0.10.5 are supported. All other versions are unsupported # and can be expected to fail. gem "mocha", "~> 0.10.5", :require => false gem "yarjuf", "~> 2.0" # json-schema does not support windows, so omit it from the platforms list # json-schema uses multi_json, but chokes with multi_json 1.7.9, so prefer 1.7.7 gem "multi_json", "1.7.7", :require => false, :platforms => [:ruby, :jruby] gem "json-schema", "2.1.1", :require => false, :platforms => [:ruby, :jruby] gem "rubocop", "~> 0.26.1", :platforms => [:ruby] gem 'rdoc', "~> 4.1", :platforms => [:ruby] end group(:development) do if RUBY_PLATFORM != 'java' gem 'ruby-prof', :require => false end end group(:extra) do gem "rack", "~> 1.4", :require => false gem "net-ssh", '~> 2.1', :require => false gem "puppetlabs_spec_helper", :require => false gem "tzinfo", :require => false case RUBY_PLATFORM when 'java' gem "msgpack-jruby", :require => false else gem "msgpack", :require => false end end require 'yaml' data = YAML.load_file(File.join(File.dirname(__FILE__), 'ext', 'project_data.yaml')) bundle_platforms = data['bundle_platforms'] x64_platform = Gem::Platform.local.cpu == 'x64' data['gem_platform_dependencies'].each_pair do |gem_platform, info| next if gem_platform == 'x86-mingw32' && x64_platform next if gem_platform == 'x64-mingw32' && !x64_platform if bundle_deps = info['gem_runtime_dependencies'] bundle_platform = bundle_platforms[gem_platform] or raise "Missing bundle_platform" platform(bundle_platform.intern) do bundle_deps.each_pair do |name, version| gem(name, version, :require => false) end end end end if File.exists? "#{__FILE__}.local" eval(File.read("#{__FILE__}.local"), binding) end # vim:filetype=ruby diff --git a/ext/project_data.yaml b/ext/project_data.yaml index 09df85195..57ec9031d 100644 --- a/ext/project_data.yaml +++ b/ext/project_data.yaml @@ -1,50 +1,50 @@ --- project: 'puppet' author: 'Puppet Labs' email: 'info@puppetlabs.com' homepage: 'https://github.com/puppetlabs/puppet' summary: 'Puppet, an automated configuration management tool' description: 'Puppet, an automated configuration management tool' version_file: 'lib/puppet/version.rb' # files and gem_files are space separated lists files: '[A-Z]* install.rb bin lib conf man examples ext tasks spec' # The gem specification bits only work on Puppet >= 3.0rc, NOT 2.7.x and earlier gem_files: '[A-Z]* install.rb bin lib conf man examples ext tasks spec' gem_test_files: 'spec/**/*' gem_executables: 'puppet' gem_default_executables: 'puppet' gem_forge_project: 'puppet' gem_runtime_dependencies: - facter: ['> 1.6', '< 3'] - hiera: '~> 1.0' + facter: ['> 2.0', '< 4'] + hiera: ['> 1.0', '< 3'] json_pure: gem_rdoc_options: - --title - "Puppet - Configuration Management" - --main - README.md - --line-numbers gem_platform_dependencies: x86-mingw32: gem_runtime_dependencies: # Pinning versions that require native extensions ffi: '~> 1.9.6' win32-dir: '~> 0.4.9' win32-eventlog: '~> 0.6.2' win32-process: '~> 0.7.4' win32-security: '~> 0.2.5' win32-service: '~> 0.8.6' win32console: '1.3.2' minitar: '~> 0.5.4' x64-mingw32: gem_runtime_dependencies: ffi: '~> 1.9.6' win32-dir: '~> 0.4.9' win32-eventlog: '~> 0.6.2' win32-process: '~> 0.7.4' win32-security: '~> 0.2.5' win32-service: '~> 0.8.6' minitar: '~> 0.5.4' bundle_platforms: x86-mingw32: mingw x64-mingw32: x64_mingw