lib/bundler/definition.rb in bundler-2.2.34 vs lib/bundler/definition.rb in bundler-2.3.0

- old
+ new

@@ -4,10 +4,15 @@ module Bundler class Definition include GemHelpers + class << self + # Do not create or modify a lockfile (Makes #lock a noop) + attr_accessor :no_lock + end + attr_reader( :dependencies, :locked_deps, :locked_gems, :platforms, @@ -273,10 +278,12 @@ def groups dependencies.map(&:groups).flatten.uniq end def lock(file, preserve_unknown_sections = false) + return if Definition.no_lock + contents = to_lock # Convert to \r\n if the existing lock has them # i.e., Windows with `git config core.autocrlf=true` contents.gsub!(/\n/, "\r\n") if @lockfile_contents.match("\r\n") @@ -285,11 +292,11 @@ locked_major = @locked_bundler_version.segments.first current_major = Gem::Version.create(Bundler::VERSION).segments.first if updating_major = locked_major < current_major Bundler.ui.warn "Warning: the lockfile is being updated to Bundler #{current_major}, " \ - "after which you will be unable to return to Bundler #{@locked_bundler_version.segments.first}." + "after which you will be unable to return to Bundler #{locked_major}." end end preserve_unknown_sections ||= !updating_major && (Bundler.frozen_bundle? || !(unlocking? || @unlocking_bundler)) @@ -370,10 +377,15 @@ added.concat new_deps.map {|d| "* #{pretty_dep(d)}" } if new_deps.any? deleted.concat deleted_deps.map {|d| "* #{pretty_dep(d)}" } if deleted_deps.any? both_sources = Hash.new {|h, k| h[k] = [] } @dependencies.each {|d| both_sources[d.name][0] = d } - locked_dependencies.each {|d| both_sources[d.name][1] = d } + + locked_dependencies.each do |d| + next if !Bundler.feature_flag.bundler_3_mode? && @locked_specs[d.name].empty? + + both_sources[d.name][1] = d + end both_sources.each do |name, (dep, lock_dep)| next if dep.nil? || lock_dep.nil? gemfile_source = dep.source || sources.default_source