#
# Copyright (C) 2009  Red Hat, Inc.
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.  The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License.  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
# License for the specific language governing permissions and limitations
# under the License.

require 'rubygems/package_task'
require 'rake/testtask'

load 'deltacloud-client.gemspec'

desc "Generate documentation"
task 'documentation' do
  load 'lib/documentation.rb'
end


spec = Gem::Specification.load('deltacloud-client.gemspec')
Gem::PackageTask.new(spec) do |pkg|
  pkg.need_tar = true
end

def available?(name)
  Gem::Specification.find_by_name(name)
rescue Gem::LoadError
  false
rescue
  Gem.available?(name)
end

if available?('rspec')
  require 'spec/rake/spectask'
  desc "Run all examples"
  Spec::Rake::SpecTask.new('spec') do |t|
    t.spec_files = FileList['specs/**/*_spec.rb']
  end
end

desc "Setup Fixtures"
task 'fixtures' do
  FileUtils.rm_rf( File.dirname( __FILE__ ) + '/specs/data' )
  FileUtils.cp_r( File.dirname( __FILE__ ) + '/specs/fixtures', File.dirname( __FILE__ ) + '/specs/data' )
end

namespace :test do
  Rake::TestTask.new(:cmd) do |t|
    t.libs << "tests"
    t.test_files = FileList['tests/cmd.rb']
    t.verbose = true
  end
end

desc "Clean Fixtures"
task 'fixtures:clean' do
  FileUtils.rm_rf( File.dirname( __FILE__ ) + '/specs/data' )
end

begin
  require 'ci/reporter/rake/rspec'
rescue LoadError
end
