# frozen_string_literal: true

# Local path overrides for development.
# Loaded by the associated non-local gemfile when GALTZO_FLOSS_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[yard-fence yard-timekeeper yard-yaml]
declared_gems = instance_variable_get(:@dependencies).to_a.map(&:name)
local_gems_to_eval = local_gems - %w[oauth2] - declared_gems

# export GALTZO_FLOSS_DEV=/path/to/galtzo-floss
eval_nomono_gems(
  gems: local_gems_to_eval,
  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"
)
