mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.5 KiB
72 lines
1.5 KiB
require "rake"
|
|
require "rake/clean"
|
|
|
|
NAME = 'erubi'
|
|
CLEAN.include ["#{NAME}-*.gem", "rdoc", "coverage"]
|
|
|
|
# Gem Packaging and Release
|
|
|
|
desc "Packages #{NAME}"
|
|
task :package=>[:clean] do |p|
|
|
sh %{gem build #{NAME}.gemspec}
|
|
end
|
|
|
|
### RDoc
|
|
|
|
RDOC_DEFAULT_OPTS = ["--line-numbers", "--inline-source", '--title', 'Erubi: Small ERB Implementation']
|
|
|
|
begin
|
|
gem 'hanna'
|
|
RDOC_DEFAULT_OPTS.concat(['-f', 'hanna'])
|
|
rescue Gem::LoadError
|
|
end
|
|
|
|
rdoc_task_class = begin
|
|
require "rdoc/task"
|
|
RDoc::Task
|
|
rescue LoadError
|
|
require "rake/rdoctask"
|
|
Rake::RDocTask
|
|
end
|
|
|
|
RDOC_OPTS = RDOC_DEFAULT_OPTS + ['--main', 'README.rdoc']
|
|
RDOC_FILES = %w"README.rdoc CHANGELOG MIT-LICENSE lib/**/*.rb"
|
|
|
|
rdoc_task_class.new do |rdoc|
|
|
rdoc.rdoc_dir = "rdoc"
|
|
rdoc.options += RDOC_OPTS
|
|
rdoc.rdoc_files.add RDOC_FILES
|
|
end
|
|
|
|
### Specs
|
|
|
|
spec = proc do |env|
|
|
env.each{|k,v| ENV[k] = v}
|
|
sh "#{FileUtils::RUBY} #{'-w' if RUBY_VERSION >= '3'} #{'-W:strict_unused_block' if RUBY_VERSION >= '3.4'} test/test.rb"
|
|
env.each{|k,v| ENV.delete(k)}
|
|
end
|
|
|
|
desc "Run specs"
|
|
task "spec" do
|
|
spec.call({})
|
|
end
|
|
|
|
task :default=>:spec
|
|
|
|
desc "Run specs with coverage"
|
|
task "spec_cov" do
|
|
spec.call('COVERAGE'=>'1')
|
|
end
|
|
|
|
### Other
|
|
|
|
desc "Start an IRB shell using the extension"
|
|
task :irb do
|
|
require 'rbconfig'
|
|
ruby = ENV['RUBY'] || File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
|
|
irb = ENV['IRB'] || File.join(RbConfig::CONFIG['bindir'], File.basename(ruby).sub('ruby', 'irb'))
|
|
sh %{#{irb} -I lib -r #{NAME}}
|
|
end
|
|
|
|
|