Mercurial > hg > soundsoftware-site
diff vendor/gems/rubytree-0.5.2/Rakefile @ 0:513646585e45
* Import Redmine trunk SVN rev 3859
author | Chris Cannam |
---|---|
date | Fri, 23 Jul 2010 15:52:44 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/gems/rubytree-0.5.2/Rakefile Fri Jul 23 15:52:44 2010 +0100 @@ -0,0 +1,212 @@ +# Rakefile +# +# $Revision: 1.27 $ by $Author: anupamsg $ +# $Name: $ +# +# Copyright (c) 2006, 2007 Anupam Sengupta +# +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# - Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# - Redistributions in binary form must reproduce the above copyright notice, this +# list of conditions and the following disclaimer in the documentation and/or +# other materials provided with the distribution. +# +# - Neither the name of the organization nor the names of its contributors may +# be used to endorse or promote products derived from this software without +# specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +require 'rubygems' +require 'rake/gempackagetask' + +require 'rake/clean' +require 'rake/packagetask' +require 'rake/testtask' +require 'rake/rdoctask' + +require 'fileutils' + +# General Stuff #################################################### + +$:.insert 0, File.expand_path( File.join( File.dirname(__FILE__), 'lib' ) ) +require 'tree' # To read the version information. + +PKG_NAME = "rubytree" +PKG_VERSION = Tree::VERSION +PKG_FULLNAME = PKG_NAME + "-" + PKG_VERSION +PKG_SUMMARY = "Ruby implementation of the Tree data structure." +PKG_DESCRIPTION = <<-END + Provides a generic tree data-structure with ability to + store keyed node-elements in the tree. The implementation + mixes in the Enumerable module. + + Website: http://rubytree.rubyforge.org/ + END + +PKG_FILES = FileList[ + '[A-Z]*', + '*.rb', + 'lib/**/*.rb', + 'test/**/*.rb' + ] + +# Default is to create a rubygem. +desc "Default Task" +task :default => :gem + +begin # Try loading hoe + require 'hoe' + # If Hoe is found, use it to define tasks + # ======================================= + Hoe.new(PKG_NAME, PKG_VERSION) do |p| + p.rubyforge_name = PKG_NAME + p.author = "Anupam Sengupta" + p.email = "anupamsg@gmail.com" + p.summary = PKG_SUMMARY + p.description = PKG_DESCRIPTION + p.url = "http://rubytree.rubyforge.org/" + p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n") + p.remote_rdoc_dir = 'rdoc' + p.need_tar = true + p.need_zip = true + p.test_globs = ['test/test_*.rb'] + p.spec_extras = { + :has_rdoc => true, + :platform => Gem::Platform::RUBY, + :has_rdoc => true, + :extra_rdoc_files => ['README', 'COPYING', 'ChangeLog', 'History.txt'], + :rdoc_options => ['--main', 'README'], + :autorequire => 'tree' + } + end + +rescue LoadError # If Hoe is not found + # If Hoe is not found, then use the usual Gemspec based Rake tasks + # ================================================================ + spec = Gem::Specification.new do |s| + s.name = PKG_NAME + s.version = PKG_VERSION + s.platform = Gem::Platform::RUBY + s.author = "Anupam Sengupta" + s.email = "anupamsg@gmail.com" + s.homepage = "http://rubytree.rubyforge.org/" + s.rubyforge_project = 'rubytree' + s.summary = PKG_SUMMARY + s.add_dependency('rake', '>= 0.7.2') + s.description = PKG_DESCRIPTION + s.has_rdoc = true + s.extra_rdoc_files = ['README', 'COPYING', 'ChangeLog'] + s.autorequire = "tree" + s.files = PKG_FILES.to_a + s.test_files = Dir.glob('test/test*.rb') + end + + desc "Prepares for installation" + task :prepare do + ruby "setup.rb config" + ruby "setup.rb setup" + end + + desc "Installs the package #{PKG_NAME}" + task :install => [:prepare] do + ruby "setup.rb install" + end + + Rake::GemPackageTask.new(spec) do |pkg| + pkg.need_zip = true + pkg.need_tar = true + end + + Rake::TestTask.new do |t| + t.libs << "test" + t.test_files = FileList['test/test*.rb'] + t.verbose = true + end + +end # End loading Hoerc +# ================================================================ + + +# The following tasks are loaded independently of Hoe + +# Hoe's rdoc task is ugly. +Rake::RDocTask.new(:docs) do |rd| + rd.rdoc_files.include("README", "COPYING", "ChangeLog", "lib/**/*.rb") + rd.rdoc_dir = 'doc' + rd.title = "#{PKG_FULLNAME} Documentation" + + # Use the template only if it is present, otherwise, the standard template is + # used. + template = "../allison/allison.rb" + rd.template = template if File.file?(template) + + rd.options << '--line-numbers' << '--inline-source' +end + +# Optional TAGS Task. +# Needs https://rubyforge.org/projects/rtagstask/ +begin + require 'rtagstask' + RTagsTask.new do |rd| + rd.vi = false + end +rescue LoadError +end + +# Optional RCOV Task +# Needs http://eigenclass.org/hiki/rcov +begin + require 'rcov/rcovtask' + Rcov::RcovTask.new do |t| + t.test_files = FileList['test/test*.rb'] + t.rcov_opts << "--exclude 'rcov.rb'" # rcov itself should not be profiled + # t.verbose = true # uncomment to see the executed commands + end +rescue LoadError +end + +#Rakefile,v $ +# Revision 1.21 2007/07/21 05:14:43 anupamsg +# Added a VERSION constant to the Tree module, +# and using the same in the Rakefile. +# +# Revision 1.20 2007/07/21 03:24:25 anupamsg +# Minor edits to parameter names. User visible functionality does not change. +# +# Revision 1.19 2007/07/19 02:16:01 anupamsg +# Release 0.4.0 (and minor fix in Rakefile). +# +# Revision 1.18 2007/07/18 20:15:06 anupamsg +# Added two predicate methods in BinaryTreeNode to determine whether a node +# is a left or a right node. +# +# Revision 1.17 2007/07/18 07:17:34 anupamsg +# Fixed a issue where TreeNode.ancestors was shadowing Module.ancestors. This method +# has been renamed to TreeNode.parentage. +# +# Revision 1.16 2007/07/17 05:34:03 anupamsg +# Added an optional tags Rake-task for generating the TAGS file for Emacs. +# +# Revision 1.15 2007/07/17 04:42:45 anupamsg +# Minor fixes to the Rakefile. +# +# Revision 1.14 2007/07/17 03:39:28 anupamsg +# Moved the CVS Log keyword to end of the files. +#