tasks/distribution.rake in gecoder-0.8.0 vs tasks/distribution.rake in gecoder-0.8.1
- old
+ new
@@ -5,38 +5,42 @@
PKG_VERSION = GecodeR::VERSION
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
PKG_FILE_NAME_WITH_GECODE = "#{PKG_NAME_WITH_GECODE}-#{PKG_VERSION}"
# The location where the precompiled DLL should be placed.
DLL_LOCATION = 'lib/gecode.dll'
+EXT_DIR = 'ext'
desc 'Generate RDoc'
rd = Rake::RDocTask.new do |rdoc|
rdoc.rdoc_dir = 'doc/output/rdoc'
rdoc.options << '--title' << 'Gecode/R' << '--line-numbers' <<
'--inline-source' << '--accessor' << 'delegate' << '--main' << 'README'
rdoc.rdoc_files.include('README', 'CHANGES', 'LGPL-LICENSE', 'lib/**/*.rb')
end
+TMP_DIR = 'doc/tmp/rdoc_dev'
desc 'Generate RDoc, ignoring nodoc'
-Rake::RDocTask.new(:rdoc_dev) do |rdoc|
+Rake::RDocTask.new(:rdoc_dev => :prepare_rdoc_dev) do |rdoc|
rdoc.rdoc_dir = 'doc/output/rdoc_dev'
rdoc.options << '--title' << 'Gecode/R Developers RDoc' << '--line-numbers' <<
'--inline-source' << '--accessor' << 'delegate'
-
+
+ rdoc.rdoc_files.include("#{TMP_DIR}/**/*.rb")
+end
+
+desc 'Copies the files that RDoc should parse, removing #:nodoc:'
+task :prepare_rdoc_dev do
# Copy the rdoc and remove all #:nodoc: .
- TMP_DIR = 'doc/tmp/rdoc_dev'
Dir['lib/**/*.rb'].each do |source_name|
destination_name = source_name.sub('lib', TMP_DIR)
File.makedirs File.dirname(destination_name)
destination = File.open(destination_name, 'w')
File.open(source_name) do |source|
source.each{ |line| destination << line.gsub('#:nodoc:', '' ) }
end
destination.close
end
-
- rdoc.rdoc_files.include("#{TMP_DIR}/**/*.rb")
end
spec = Gem::Specification.new do |s|
s.name = PKG_NAME
s.version = GecodeR::VERSION
@@ -120,47 +124,58 @@
end
desc 'Removes generated distribution files'
task :clobber do
rm DLL_LOCATION if File.exists? DLL_LOCATION
+ FileList[
+ "#{EXT_DIR}/*.o",
+ "#{EXT_DIR}/gecode.{cc,hh}",
+ "#{EXT_DIR}/Makefile",
+ "#{EXT_DIR}/mkmf.log"
+ ].to_a.each{ |file| rm file if File.exists? file }
end
desc 'Publish packages on RubyForge'
task :publish_packages => [:publish_gecoder_packages,
:publish_gecoder_with_gecode_packages]
+# Files included in the vanilla Gecode/R release.
+vanilla_release_files = [
+ "pkg/#{PKG_FILE_NAME}.gem",
+ "pkg/#{PKG_FILE_NAME}.tgz",
+ "pkg/#{PKG_FILE_NAME}.zip"
+]
+
desc 'Publish Gecode/R packages on RubyForge'
-task :publish_gecoder_packages => [:verify_user, :package] do
- release_files = FileList[
- "pkg/#{PKG_FILE_NAME}.gem",
- "pkg/#{PKG_FILE_NAME}.tgz",
- "pkg/#{PKG_FILE_NAME}.zip"
- ]
+task :publish_gecoder_packages => [:verify_user].concat(vanilla_release_files) do
require 'meta_project'
require 'rake/contrib/xforge'
Rake::XForge::Release.new(MetaProject::Project::XForge::RubyForge.new(PROJECT_NAME)) do |xf|
xf.user_name = ENV['RUBYFORGE_USER']
- xf.files = release_files.to_a
+ xf.files = vanilla_release_files.to_a
xf.release_name = "Gecode/R #{PKG_VERSION}"
xf.package_name = PKG_NAME
end
end
+# Files included in the release with Gecode.
+gecode_release_files = [
+ "pkg/#{PKG_FILE_NAME_WITH_GECODE}.gem",
+ "pkg/#{PKG_FILE_NAME_WITH_GECODE}.tgz",
+ "pkg/#{PKG_FILE_NAME_WITH_GECODE}.zip",
+ "pkg/#{PKG_FILE_NAME_WITH_GECODE}-mswin32.gem"
+]
+
desc 'Publish Gecode/R with Gecode packages on RubyForge'
-task :publish_gecoder_with_gecode_packages => [:verify_user, :package] do
- release_files = FileList[
- "pkg/#{PKG_FILE_NAME_WITH_GECODE}*.gem",
- "pkg/#{PKG_FILE_NAME_WITH_GECODE}*.tgz",
- "pkg/#{PKG_FILE_NAME_WITH_GECODE}*.zip"
- ]
-
+task :publish_gecoder_with_gecode_packages =>
+ [:verify_user].concat(gecode_release_files) do
require 'meta_project'
require 'rake/contrib/xforge'
Rake::XForge::Release.new(MetaProject::Project::XForge::RubyForge.new(PROJECT_NAME)) do |xf|
xf.user_name = ENV['RUBYFORGE_USER']
- xf.files = release_files.to_a
+ xf.files = gecode_release_files.to_a
xf.release_name = "Gecode/R with Gecode #{PKG_VERSION}"
xf.package_name = PKG_NAME_WITH_GECODE
end
end