Rakefile in ruby-vpi-7.0.0 vs Rakefile in ruby-vpi-7.1.0
- old
+ new
@@ -73,10 +73,15 @@
end
end
end
+
+##
+# extension
+#
+
desc "Builds object files for all simulators."
task :build
DEFAULT_SHARED_OBJ = "#{PROJECT_ID}.so"
DEFAULT_NORMAL_OBJ = "#{PROJECT_ID}.o"
@@ -119,153 +124,183 @@
task :build => targetTask
end
+
+##
# documentation
- desc 'Generate documentation.'
- task 'doc' => 'ref' do |t|
- cd t.name do
- sh 'rake'
- end
+#
+
+desc 'Generate documentation.'
+task 'doc' => 'ref' do |t|
+ cd t.name do
+ sh 'rake'
end
+end
- directory 'ref'
- CLOBBER.include 'ref'
+directory 'ref'
+CLOBBER.include 'ref'
- desc 'Generate reference documentation.'
- file 'ref' => ['ref/c', 'ref/ruby']
+desc 'Generate reference documentation.'
+file 'ref' => ['ref/c', 'ref/ruby']
- directory 'ref/ruby'
- CLOBBER.include 'ref/ruby'
+directory 'ref/ruby'
+CLOBBER.include 'ref/ruby'
- desc 'Generate reference for Ruby.'
- Rake::RDocTask.new 'ref/ruby' do |t|
- t.rdoc_dir = t.name
- t.title = "#{PROJECT_NAME}: #{PROJECT_SUMMARY}"
- t.options.concat %w(--charset utf-8 --tab-width 2 --line-numbers)
+desc 'Generate reference for Ruby.'
+Rake::RDocTask.new 'ref/ruby' do |t|
+ t.rdoc_dir = t.name
+ t.title = "#{PROJECT_NAME}: #{PROJECT_SUMMARY}"
+ t.options.concat %w(--charset utf-8 --tab-width 2 --line-numbers)
- t.rdoc_files.include '**/*.rb'
- end
+ t.rdoc_files.include '**/*.rb'
+end
- directory 'ref/c'
- CLOBBER.include 'ref/c'
+directory 'ref/c'
+CLOBBER.include 'ref/c'
- desc 'Generate reference for C.'
- file 'ref/c' do |t|
- # doxygen outputs to this temporary destination
- tempDest = 'ext/html'
+desc 'Generate reference for C.'
+file 'ref/c' do |t|
+ # doxygen outputs to this temporary destination
+ tempDest = 'ext/html'
- cd File.dirname(tempDest) do
- sh "doxygen"
- end
-
- mv FileList[tempDest + '/*'].to_a, t.name
- rmdir tempDest
+ cd File.dirname(tempDest) do
+ sh "doxygen"
end
+ mv FileList[tempDest + '/*'].to_a, t.name
+ rmdir tempDest
+end
+
+
+
+##
# distribution
- distDocs = ['HISTORY', 'README', 'MEMO'].map do |src|
- dst = src.downcase << '.html'
+#
- file dst => src do |t|
- sh "redcloth < #{t.prerequisites[0]} > #{t.name}"
- end
+distDocs = ['HISTORY', 'README', 'MEMO'].map do |src|
+ dst = src.downcase << '.html'
- CLOBBER.include dst
- dst
+ file dst => src do |t|
+ sh "redcloth < #{t.prerequisites[0]} > #{t.name}"
end
+ CLOBBER.include dst
+ dst
+end
- desc "Prepare for distribution."
- task :dist => ['ext', :doc, *distDocs] do |t|
- cd t.prerequisites[0] do
- sh 'rake swig'
- end
+desc "Prepare distribution information."
+task :dist_info => distDocs
+
+
+desc "Prepare for distribution."
+task :dist => ['ext', :doc, :dist_info] do |t|
+ cd t.prerequisites[0] do
+ sh 'rake swig'
end
+end
- # website publishing
- desc 'Publish documentation to website.'
- task :web => [:web_dist, :web_ref, :web_doc]
- desc "Publish distribution info."
- task :web_dist => distDocs do |t|
- upload_without_svn PROJECT_SSH_URL, *t.prerequisites
- end
+desc 'Publish documentation to website.'
+task :web => [:web_dist, :web_ref, :web_doc]
- desc "Publish reference documentation."
- task :web_ref => 'ref' do |t|
- upload_without_svn PROJECT_SSH_URL, *t.prerequisites
- end
+desc "Publish distribution info."
+task :web_dist => distDocs do |t|
+ upload_without_svn PROJECT_SSH_URL, *t.prerequisites
+end
- desc "Publish user documentation."
- task :web_doc => :doc do |t|
- upload_without_svn "#{PROJECT_SSH_URL}/doc/", *FileList['doc/xhtml/*']
- end
+desc "Publish reference documentation."
+task :web_ref => 'ref' do |t|
+ upload_without_svn PROJECT_SSH_URL, *t.prerequisites
+end
- desc 'Connect to website FTP.'
- task :ftp do
- sh 'lftp', "sftp://#{PROJECT_SSH_URL}"
- end
+desc "Publish user documentation."
+task :web_doc => :doc do |t|
+ upload_without_svn "#{PROJECT_SSH_URL}/doc/", *FileList['doc/xhtml/*']
+end
-# release packages
- desc "Generate release packages."
- task :pkg => ['HISTORY', 'gem_extconf.rb'] do |t|
- # determine release version
- File.read(t.prerequisites[0]) =~ /Version\s+([\d\.]+)/
- releaseVersion = $1
- puts "release version is: #{releaseVersion}"
+desc 'Connect to website FTP.'
+task :ftp do
+ sh 'lftp', "sftp://#{PROJECT_SSH_URL}"
+end
- mkdir tmpDir = generate_temp_path
- cp_r '.', tmpDir
- cd tmpDir do
- # clean up
- sh "svn st | awk '/^\\?/ {print $2}' | xargs rm -rf"
- sh "svn up"
- sh "find -name .svn | xargs rm -rf"
+desc "Generate release packages."
+task :pkg => ['HISTORY', 'gem_extconf.rb'] do |t|
+ # determine release version
+ File.read(t.prerequisites[0]) =~ /Version\s+([\d\.]+)/
+ releaseVersion = $1
+ puts "release version is: #{releaseVersion}"
- sh "rake dist"
+ mkdir tmpDir = generate_temp_path
+ cp_r '.', tmpDir
- # make gem package
- spec = Gem::Specification.new do |s|
- s.name = s.rubyforge_project = PROJECT_ID
- s.summary = PROJECT_SUMMARY
- s.description = PROJECT_DETAIL
- s.homepage = PROJECT_URL
- s.version = releaseVersion
+ cd tmpDir do
+ # clean up
+ sh "svn st | awk '/^\\?/ {print $2}' | xargs rm -rf"
+ sh "svn up"
+ sh "find -name .svn | xargs rm -rf"
- s.add_dependency 'rspec', '>= 0.5.4'
- s.add_dependency 'rake', '>= 0.7.0'
+ sh "rake dist"
- s.requirements << "POSIX threads library"
- s.requirements << "C language compiler"
+ # make gem package
+ spec = Gem::Specification.new do |s|
+ s.name = s.rubyforge_project = PROJECT_ID
+ s.summary = PROJECT_SUMMARY
+ s.description = PROJECT_DETAIL
+ s.homepage = PROJECT_URL
+ s.version = releaseVersion
- s.files = FileList['**/*']
- s.autorequire = PROJECT_ID
- s.executables = FileList['bin/*'].select {|f| File.executable?(f) && File.file?(f)}.map {|f| File.basename f}
- s.extensions << t.prerequisites[1]
+ s.add_dependency 'rspec', '>= 0.5.4'
+ s.add_dependency 'rake', '>= 0.7.0'
- s.has_rdoc = true
- end
+ s.requirements << "POSIX threads library"
+ s.requirements << "C language compiler"
- Gem::manage_gems
- Gem::Builder.new(spec).build
+ s.files = FileList['**/*']
+ s.autorequire = PROJECT_ID
+ s.executables = FileList['bin/*'].select {|f| File.executable?(f) && File.file?(f)}.map {|f| File.basename f}
+ s.extensions << t.prerequisites[1]
+ end
- mv *(FileList['*.gem'] << File.dirname(__FILE__))
- end
+ Gem::manage_gems
+ Gem::Builder.new(spec).build
- rm_r tmpDir
+ mv *(FileList['*.gem'] << File.dirname(__FILE__))
end
+ rm_r tmpDir
+end
+
+
+desc "Configures the gem during installation."
+task :config_gem_install => 'readme.html' do |t|
+ # makes documentation available to gem_server
+ gemDir = File.dirname(__FILE__)
+ gemName = File.basename(gemDir)
+ docDir = File.join('..', '..', 'doc', gemName)
+
+ mkdir_p docDir
+ ln_s gemDir, File.join(docDir, 'rdoc')
+
+ # gem_server doesn't dynamically generate directory index
+ cp t.prerequisites[0], 'index.html'
+end
+
+
+
+##
# testing
- desc "Ensure that examples work with $SIMULATOR"
- task :test => FileList['samp/*/'] do |t|
- t.prerequisites.each do |s|
- cd s do
- sh 'rake', ENV['SIMULATOR'] || 'ivl'
- end
+#
+
+desc "Ensure that examples work with $SIMULATOR"
+task :test => FileList['samp/*/'] do |t|
+ t.prerequisites.each do |s|
+ cd s do
+ sh 'rake', ENV['SIMULATOR'] || 'ivl'
end
end
+end