0
|
1 # Rakefile for SPARQL.rb -*- ruby -*-
|
|
2 # Copyright (c) 2006-2007 Arto Bendiken <http://bendiken.net/>
|
|
3
|
|
4 require 'rake'
|
|
5 require 'rake/testtask'
|
|
6 require 'rake/rdoctask'
|
|
7 require 'rake/gempackagetask'
|
|
8 require 'rake/contrib/rubyforgepublisher'
|
|
9 require 'rake/clean'
|
|
10
|
|
11 PKG_NAME = "sparql"
|
|
12 PKG_LIBS = ["sparql"]
|
|
13 PKG_VERSION = File.read('VERSION').chomp
|
|
14 PKG_SUMMARY = ""
|
|
15 PKG_URL = "http://rdfrb.org/"
|
|
16 PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
|
|
17 PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
|
|
18 PKG_FILES = FileList[
|
|
19 'Rakefile', '[A-Z]*', 'bin/**/*', 'lib/**/*.rb', 'test/**/*.rb'
|
|
20 #'doc/**/*',
|
|
21 #'html/**/*',
|
|
22 ]
|
|
23
|
|
24 PKG_AUTHOR = "Arto Bendiken"
|
|
25 PKG_EMAIL = "arto.bendiken@gmail.com"
|
|
26 PKG_HOMEPAGE = "http://bendiken.net/"
|
|
27
|
|
28 ##############################################################################
|
|
29
|
|
30 Rake::TestTask.new do |t|
|
|
31 t.test_files = FileList['test/test*.rb']
|
|
32 t.warning = true
|
|
33 t.ruby_opts = %w(-rtest/unit)
|
|
34 end
|
|
35
|
|
36 ##############################################################################
|
|
37
|
|
38 rdoc = Rake::RDocTask.new('rdoc') do |rdoc|
|
|
39 rdoc.rdoc_dir = 'doc'
|
|
40 rdoc.title = "SPARQL.rb -- SPARQL API for Ruby"
|
|
41 rdoc.options << '--line-numbers' << '--inline-source' << '--main' << 'README'
|
|
42 rdoc.rdoc_files.include('README', 'LICENSE')
|
|
43 rdoc.rdoc_files.include('lib/**/*.rb', 'doc/**/*.rdoc')
|
|
44 end
|
|
45
|
|
46 ##############################################################################
|
|
47
|
|
48 spec = Gem::Specification.new do |s|
|
|
49 s.name = PKG_NAME
|
|
50 s.version = PKG_VERSION
|
|
51 s.summary = PKG_SUMMARY
|
|
52 s.description = ''
|
|
53
|
|
54 #s.add_dependency('rake', '> 0.7.2')
|
|
55 s.requirements << "rdfrb"
|
|
56
|
|
57 s.files = PKG_FILES.to_a.reject { |f| f.include?('.svn') }
|
|
58
|
|
59 s.require_path = 'lib'
|
|
60
|
|
61 s.bindir = 'bin'
|
|
62 s.executables = []
|
|
63 #s.default_executable = ''
|
|
64
|
|
65 s.has_rdoc = true
|
|
66 s.extra_rdoc_files = rdoc.rdoc_files.to_a.reject { |f| f =~ /\.rb$/ }
|
|
67 s.rdoc_options = rdoc.options
|
|
68
|
|
69 s.author = PKG_AUTHOR
|
|
70 s.email = PKG_EMAIL
|
|
71 s.homepage = PKG_HOMEPAGE
|
|
72 s.rubyforge_project = PKG_NAME
|
|
73 end
|
|
74
|
|
75 pkg = Rake::GemPackageTask.new(spec) do |pkg|
|
|
76 pkg.need_tar = true
|
|
77 pkg.need_zip = true
|
|
78 end
|
|
79
|
|
80 ##############################################################################
|
|
81
|
|
82 desc "Update the VERSION file."
|
|
83 task :version do
|
|
84 $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), 'lib')))
|
|
85 require "#{PKG_LIBS.first}/version"
|
|
86 File.open('VERSION', 'w') { |f| f.puts SPARQL::VERSION::STRING }
|
|
87 end
|
|
88
|
|
89 desc "Look for TODO and FIXME tags in the code base."
|
|
90 task :todo do
|
|
91 FileList['**/*.rb'].exclude('pkg').egrep(/#.*(FIXME|TODO)/)
|
|
92 end
|
|
93
|
|
94 ARCHIVE_DIR = "/tmp"
|
|
95 desc "Copy package products to archive directory #{ARCHIVE_DIR}."
|
|
96 task :archive => [:package] do
|
|
97 cp FileList['pkg/*.tgz', 'pkg/*.zip', 'pkg/*.gem'], ARCHIVE_DIR
|
|
98 end
|