require "rake/testtask"
require "minitest/test_task"
require "yaml"

#
# Define tasks for `rake spec`
#

begin
  require "rspec/core/rake_task"
  RSpec::Core::RakeTask.new(:spec)
rescue LoadError
end

Minitest::TestTask.create(:test) do |t|
  t.libs << "test"
  t.libs << "lib"
  t.warning = false
  t.test_globs = ["test/**/*_test.rb"]
end

# Set default rake task to `spec`
task :default => :spec

#
# Define tasks needed for `rake install`
#

PREFIX = ENV['PREFIX'] || '/opt/ood/nginx_stage'

desc <<-DESC
Install nginx_stage into env var PREFIX
Default: PREFIX=/opt/ood/nginx_stage
DESC
task :install => [:required_files] do
end

# Dynamically generate tasks for copying required files
FileList['sbin/*', 'bin/*', 'share/*', 'templates/*.erb', 'lib/**/*.rb'].each do |source|
  target = "#{PREFIX}/#{source}"
  file target => [source] do
    mkdir_p File.dirname(target) unless File.directory? File.dirname(target)
    cp source, target
  end
  task :required_files => target
end
