require 'bundler'
require 'rspec/core/rake_task'
require 'rubocop/rake_task'
require 'rake/extensiontask'
require 'gem_publisher'

desc 'Default: run specs'
task default: [:spec]

# test alias
task test: :spec

desc 'Run specs'
RSpec::Core::RakeTask.new do |t|
  t.rspec_opts = '--require ./spec/spec_helper.rb'
end

desc 'Lint code'
RuboCop::RakeTask.new

Bundler::GemHelper.install_tasks

desc 'Publish gem to RubyGems.org'
task :publish_gem do |_t|
  gem = GemPublisher.publish_if_updated('prometheus-client-mmap.gemspec', :rubygems)
  puts "Published #{gem}" if gem
end

task :console do
  exec 'irb -r prometheus -I ./lib'
end

gemspec = Gem::Specification.load(File.expand_path('../prometheus-client-mmap.gemspec', __FILE__))

Gem::PackageTask.new(gemspec)
Rake::ExtensionTask.new('fast_mmaped_file', gemspec)
