# frozen_string_literal: true

require 'rubygems/package_task'
require_relative 'lib/pyroscope/version'

exec(*(["bundle", "exec", $PROGRAM_NAME] + ARGV)) if ENV['BUNDLE_GEMFILE'].nil?

begin
	Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
	$stderr.puts e.message
	$stderr.puts "Run `bundle install` to install missing gems"
	exit e.status_code
end

load File.expand_path('./ext/thread_id/Rakefile', __dir__)
load File.expand_path('./ext/rbspy/Rakefile', __dir__)

task default: %w[hello]

task :hello do
  puts 'Hello!'
end


namespace :source do
  spec = Bundler.load_gemspec('pyroscope.gemspec')
  Gem::PackageTask.new(spec) do |pkg|
  end
end

namespace :x86_64_darwin do
  spec = Bundler.load_gemspec('pyroscope.gemspec')
  spec.platform = 'x86_64-darwin'
  spec.files += FileList['lib/rbspy/rbspy.*']
  spec.files += FileList['lib/thread_id/thread_id.*']
  spec.extensions = []

  Gem::PackageTask.new(spec) do |pkg|
  end
end

namespace :arm64_darwin do
  spec = Bundler.load_gemspec('pyroscope.gemspec')
  spec.platform = 'arm64-darwin'
  spec.files += FileList['lib/rbspy/rbspy.*']
  spec.files += FileList['lib/thread_id/thread_id.*']
  spec.extensions = []

  Gem::PackageTask.new(spec) do |pkg|
  end
end

namespace :x86_64_linux do
  spec = Bundler.load_gemspec('pyroscope.gemspec')
  spec.platform = 'x86_64-linux'
  spec.files += FileList['lib/rbspy/rbspy.*']
  spec.files += FileList['lib/rbspy.libs/*']
  spec.files += FileList['lib/thread_id/thread_id.*']
  spec.extensions = []

  Gem::PackageTask.new(spec) do |pkg|
  end
end

namespace :aarch64_linux do
  spec = Bundler.load_gemspec('pyroscope.gemspec')
  spec.platform = 'aarch64-linux'
  spec.files += FileList['lib/rbspy/rbspy.*']
  spec.files += FileList['lib/thread_id/thread_id.*']
  spec.extensions = []

  Gem::PackageTask.new(spec) do |pkg|
  end
end
