# -*- encoding: utf-8 -*-

Gem::Specification.new do |s|
  s.name        = "openwsman"
  s.version     = "@VERSION@"
  s.platform    = Gem::Platform::RUBY
  s.authors     = ["Klaus Kämpf"]
  s.email       = ["kkaempf@suse.de"]
  s.license     = "BSD 3-clause"
  s.homepage    = "http://openwsman.github.io"
  s.summary = "Ruby client bindings for Openwsman"
  s.description = "The openwsman gem provides a Ruby API to manage
systems using the WS-Management protocol."

  s.required_rubygems_version = ">= 1.3.6"
  s.add_development_dependency("rake-compiler", ["~> 0"])
  s.add_development_dependency("mocha", ["~> 0.9"])
  s.add_development_dependency("yard", ["~> 0.5"])
  if RUBY_VERSION >= "2.1"
    # stdlib test/unit deprecated(broken) with Ruby 2.1 and Minitest 5
    # adding test-unit gem fixes this
    s.add_development_dependency("test-unit", ["~> 0"])
  end
  s.extensions	<< "ext/openwsman/extconf.rb"

  s.files        = Dir.glob("lib/*.rb") +
                   Dir.glob("lib/**/*.rb") +
                   Dir.glob("ext/**/*.{i,h,c}")

#  s.require_path = ''

  s.post_install_message = <<-POST_INSTALL_MESSAGE
  ____
/@    ~-.
\/ __ .- | remember to have fun! 
 // //  @  

  POST_INSTALL_MESSAGE
end

