blob: 99c3e13c8311a060dd2ec895e9baa79800a59463 [file] [log] [blame]
# Rakefile for Qpid -*- ruby -*-
#
# 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.
#
task :noop
# look for a root directory for out-of-tree builds
OUTPUT_DIR=ENV["OUTPUT_DIR"] || "."
require "rubygems"
require "rubygems/package_task"
require "rake/clean"
require "rake/extensiontask"
require "rake/rdoctask"
require "rake/testtask"
require "cucumber/rake/task"
require "spec/rake/spectask"
CLOBBER.include("pkg")
load "./lib/qpid/version.rb"
#-------------
# Gem Details.
#-------------
NAME = "qpid"
# VERSION = Qpid::VERSION
AUTHOR = "Darryl L. Pierce"
EMAIL = "dpierce@redhat.com"
HOMEPAGE = "http://qpid.apache.org"
SUMMARY = "Qpid is an enterprise messaging framework."
desc "Default: run all tests."
task :default => :test
desc "Runs all tests."
task :test => :"test:all"
#---------------
# Testing tasks.
#---------------
namespace :test do
desc "Run RSpec tests."
Spec::Rake::SpecTask.new do |t|
t.ruby_opts = ['-rtest/unit']
t.spec_files = FileList["spec/**/*_spec.rb"]
t.rcov = true
t.rcov_opts = [
'--exclude', 'lib\/qpid.rb,spec\/,lib\/ruby',
]
end
desc "Run all tests (default)."
task :all => [:spec, :features]
Cucumber::Rake::Task.new(:features) do |t|
t.libs = ["lib", "ext/nonblockio"]
t.cucumber_opts = "--format progress"
end
end
#---------------------
# Documentation tasks.
#---------------------
Rake::RDocTask.new(:rdoc => "rdoc",
:clobber_rdoc => "rdoc:clean",
:rerdoc => "rdoc:force") do |rd|
rd.main = "README.rdoc"
rd.options << "--all"
rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
end
#-----------------
# Package the gem.
#-----------------
spec = Gem::Specification.new do |s|
s.name = NAME
s.version = Qpid::VERSION
s.platform = Gem::Platform::RUBY
s.extra_rdoc_files = ["README.rdoc"]
s.summary = SUMMARY
s.description = s.summary
s.author = AUTHOR
s.email = EMAIL
s.homepage = HOMEPAGE
s.extensions = FileList["ext/**/extconf.rb"]
s.require_path = "lib"
# DEPRECATED s.autorequire = NAME
s.files = FileList["LICENSE",
"README.rdoc",
"Rakefile",
"TODO",
"lib/**/*.rb",
"test/**/*.rb",
"examples/**/*.rb",
"ext/**/*",
"features/**/*",
"spec/**/*"]
end
Gem::PackageTask.new(spec) do |pkg|
pkg.package_dir = "#{OUTPUT_DIR}/pkg"
end
#------------------
# Build native code
#------------------
Rake::ExtensionTask.new("cqpid", spec)