root / Gemfile @ 186a64ca
Historique | Voir | Annoter | Télécharger (3,21 ko)
1 | 186a64ca | tr | source ENV['GEM_SOURCE'] || 'https://rubygems.org' |
---|---|---|---|
2 | |||
3 | def location_for(place_or_version, fake_version = nil) |
||
4 | git_url_regex = %r{\A(?<url>(https?|git)[:@][^#]*)(#(?<branch>.*))?}
|
||
5 | file_url_regex = %r{\Afile:\/\/(?<path>.*)}
|
||
6 | |||
7 | if place_or_version && (git_url = place_or_version.match(git_url_regex))
|
||
8 | [fake_version, { git: git_url[:url], branch: git_url[:branch], require: false }].compact |
||
9 | elsif place_or_version && (file_url = place_or_version.match(file_url_regex))
|
||
10 | ['>= 0', { path: File.expand_path(file_url[:path]), require: false }] |
||
11 | else
|
||
12 | [place_or_version, { require: false }] |
||
13 | end
|
||
14 | end
|
||
15 | |||
16 | ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments |
||
17 | minor_version = ruby_version_segments[0..1].join('.') |
||
18 | |||
19 | group :development do |
||
20 | gem "fast_gettext", '1.1.0', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0') |
||
21 | gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0') |
||
22 | gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0') |
||
23 | gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9') |
||
24 | gem "json", '= 2.0.4', require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) |
||
25 | gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) |
||
26 | gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby] |
||
27 | gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby] |
||
28 | gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw] |
||
29 | gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw] |
||
30 | end
|
||
31 | |||
32 | puppet_version = ENV['PUPPET_GEM_VERSION'] |
||
33 | facter_version = ENV['FACTER_GEM_VERSION'] |
||
34 | hiera_version = ENV['HIERA_GEM_VERSION'] |
||
35 | |||
36 | gems = {} |
||
37 | |||
38 | gems['puppet'] = location_for(puppet_version)
|
||
39 | |||
40 | # If facter or hiera versions have been specified via the environment
|
||
41 | # variables
|
||
42 | |||
43 | gems['facter'] = location_for(facter_version) if facter_version |
||
44 | gems['hiera'] = location_for(hiera_version) if hiera_version |
||
45 | |||
46 | if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)} |
||
47 | # If we're using a Puppet gem on Windows which handles its own win32-xxx gem
|
||
48 | # dependencies (>= 3.5.0), set the maximum versions (see PUP-6445).
|
||
49 | gems['win32-dir'] = ['<= 0.4.9', require: false] |
||
50 | gems['win32-eventlog'] = ['<= 0.6.5', require: false] |
||
51 | gems['win32-process'] = ['<= 0.7.5', require: false] |
||
52 | gems['win32-security'] = ['<= 0.2.5', require: false] |
||
53 | gems['win32-service'] = ['0.8.8', require: false] |
||
54 | end
|
||
55 | |||
56 | gems.each do |gem_name, gem_params|
|
||
57 | gem gem_name, *gem_params |
||
58 | end
|
||
59 | |||
60 | # Evaluate Gemfile.local and ~/.gemfile if they exist
|
||
61 | extra_gemfiles = [ |
||
62 | "#{__FILE__}.local",
|
||
63 | File.join(Dir.home, '.gemfile'), |
||
64 | ] |
||
65 | |||
66 | extra_gemfiles.each do |gemfile|
|
||
67 | if File.file?(gemfile) && File.readable?(gemfile) |
||
68 | eval(File.read(gemfile), binding)
|
||
69 | end
|
||
70 | end
|
||
71 | # vim: syntax=ruby |