| # 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) |
| |