summaryrefslogtreecommitdiff
path: root/Gemfile.windows
blob: 2387c6af4b060067dfc7c7f07afa51977f474d5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#
# We ensure everything in windows is pinned to the same version as "generic"
# by reading the generic Gemfile.lock and pinning to that version in the Gemfile.
#
# This could *almost* be accomplished by simply copying the lockfile and doing a
# `bundle install` to add any windows dependencies, but bundler can still update
# existing versions in a couple of cases:
#
# 1. When the source has changed since the main lockfile was built.
# 2. When Windows-specific dependencies constrain our solution.
#
# We do NOT allow windows gem versions to differ from non-windows, so that our
# packages are consistent across operating systems.
#
# At the end of this process, this `Gemfile`:
#
# ```
# gem 'chef', github: 'chef/chef'
# gem 'berkshelf'
# ```
#
# Is transformed to something like this:
#
# ```
# gem 'chef', github: 'chef/chef', ref: '23049723984237948023'
# gem 'berkshelf', '= 2.0.5'
# gem 'ohai', '= 12.9.30' # implicit dependency of chef
# ```
#

require_relative "tasks/gemfile_util"
extend GemfileUtil
generic_gemfile = File.expand_path("../Gemfile", __FILE__)
include_locked_gemfile(generic_gemfile)