# frozen_string_literal: true

require 'bundler/gem_tasks'

require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)

task default: :spec

desc 'Generate code coverage'
task :coverage do
  ENV['COVERAGE'] = 'true'
  Rake::Task['spec'].execute
end

desc 'Open a Pry console for this library'
task :console do
  require 'pry'
  require 'net/ntlm'
  ARGV.clear
  Pry.start
end

# Release tooling only, and deliberately optional: the :changelog bundle group
# is not installed by default, so this must never break `rake` or `rake spec`.
# Run `bundle install --with changelog` to enable it.
begin
  require 'github_changelog_generator/task'

  GitHubChangelogGenerator::RakeTask.new :changelog do |config|
    config.future_release = Net::NTLM::VERSION::STRING
  end
rescue LoadError
  desc 'Generate CHANGELOG.md (requires: bundle install --with changelog)'
  task :changelog do
    abort 'github_changelog_generator is not installed. ' \
          'Run `bundle install --with changelog` first.'
  end
end
