# frozen_string_literal: true

# Local path overrides for development.
# Loaded by the associated non-local gemfile when KETTLE_RB_DEV != "false".

nomono_activation_requirements = ["~> 1.0", ">= 1.0.8"]
nomono_lockfile = File.expand_path("../../Gemfile.lock", __dir__)
if File.file?(nomono_lockfile)
  nomono_locked_spec = Bundler::LockfileParser
    .new(Bundler.read_file(nomono_lockfile))
    .specs
    .find { |spec| spec.name == "nomono" }
  nomono_locked = nomono_locked_spec &&
    Gem::Requirement.new(nomono_activation_requirements).satisfied_by?(nomono_locked_spec.version)
  if nomono_locked
    nomono_activation_requirements = ["= #{nomono_locked_spec.version}"]
  end
end
Kernel.send(:gem, "nomono", *nomono_activation_requirements)
require "nomono/bundler"

local_gems = %w[kettle-dev kettle-test kettle-soup-cover kettle-drift]
declared_gems = instance_variable_get(:@dependencies).to_a.map(&:name)
local_gems_to_eval = local_gems - %w[auth-sanitizer] - declared_gems

# export KETTLE_RB_DEV=/path/to/my
platform :mri do
  eval_nomono_gems(
    gems: local_gems_to_eval,
    prefix: "KETTLE_RB",
    path_env: "KETTLE_RB_DEV",
    vendored_gems_env: "VENDORED_GEMS",
    vendor_gem_dir_env: "VENDOR_GEM_DIR",
    debug_env: "KETTLE_DEV_DEBUG"
  )

  if ENV.fetch("GALTZO_FLOSS_DEV", "false").casecmp("false") != 0
    eval_nomono_gems(
      gems: %w[turbo_tests2],
      prefix: "GALTZO_FLOSS",
      path_env: "GALTZO_FLOSS_DEV",
      vendored_gems_env: "GALTZO_FLOSS_VENDORED_GEMS",
      vendor_gem_dir_env: "GALTZO_FLOSS_VENDOR_GEM_DIR",
      debug_env: "GALTZO_FLOSS_DEBUG"
    )
  end
end
