1
0
mirror of https://github.com/e621ng/dtext_rb.git synced 2025-03-04 03:03:03 -05:00
dtext_rb/Rakefile

54 lines
1.2 KiB
Ruby
Raw Permalink Normal View History

# ENV["G_MESSAGES_DEBUG"] = "all"
2016-03-25 18:29:04 -04:00
2016-03-16 20:21:34 -04:00
begin
require "rake/extensiontask"
require "rubygems/package_task"
require "bundler"
2016-03-16 20:21:34 -04:00
Bundler.setup(:default, :development)
rescue LoadError, Bundler::BundlerError => e
2016-03-16 20:21:34 -04:00
$stderr.puts e.message
$stderr.puts "Run `bundle install` to install missing gems"
exit 1
2016-03-16 20:21:34 -04:00
end
2016-03-03 20:05:04 -05:00
Rake::ExtensionTask.new "dtext" do |ext|
2017-02-14 13:00:45 -05:00
# this goes here to ensure ragel runs *before* the extension is compiled.
task :compile => ["ext/dtext/dtext.cpp", "ext/dtext/rb_dtext.cpp"]
ext.lib_dir = "lib/dtext"
2016-03-03 20:05:04 -05:00
end
file "ext/dtext/dtext.cpp" => Dir["ext/dtext/dtext.{cpp.rl,h}", "Rakefile"] do
sh "ragel -G2 -C ext/dtext/dtext.cpp.rl -o ext/dtext/dtext.cpp"
2016-03-03 20:05:04 -05:00
end
2023-03-26 10:34:11 -04:00
def run_dtext(*args)
ruby "-Ilib", "-rdtext", *args
end
task test_inline_ragel: :compile do
2022-08-15 15:29:35 -04:00
Bundler.with_unbundled_env do
run_dtext "-e", 'puts DText.parse("hello\r\nworld")'
2017-02-21 14:21:44 -05:00
end
2016-03-03 20:05:04 -05:00
end
task test: :compile do
2022-08-15 15:29:35 -04:00
Bundler.with_unbundled_env do
2023-03-26 10:34:11 -04:00
run_dtext "test/dtext_test.rb" #, '--name=test_strip'
end
end
task reference_compare: :compile do
Bundler.with_unbundled_env do
run_dtext "test/reference_compare.rb"
end
end
task reference_generate: :compile do
Bundler.with_unbundled_env do
run_dtext "test/reference_generate.rb"
2017-02-21 14:21:44 -05:00
end
2016-03-09 20:49:58 -05:00
end
task default: :test