Skip to content
Snippets Groups Projects
Commit 73547b63 authored by Lyle Johnson's avatar Lyle Johnson
Browse files

Moved all of my custom tasks into the :fxruby namespace

parent db59a0af
Branches
Tags
No related merge requests found
......@@ -36,37 +36,96 @@ task :test => [:compile]
# ... project specific tasks ...
def setversions(filename)
File.open(filename, "wb") do |out|
template = ERB.new(File.open(filename + ".erb", "rb").read)
out.write(template.result)
Rake::ExtensionTask.new("fox16", hoe.spec) do |ext|
if RUBY_PLATFORM =~ /mingw/
ext.config_options << "--with-fox-include=c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/include/fox-1.6"
ext.config_options << "--with-fox-lib=c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/lib"
ext.config_options << "--with-fxscintilla-include=c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/include/fxscintilla"
ext.config_options << "--with-fxscintilla-lib=c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/lib"
end
end
desc "Update the web site."
task :website => [:doap] do
system %{scp -Cq doc/*.css lyle@rubyforge.org:/var/www/gforge-projects/fxruby/1.6/doc}
system %{scp -Cq doc/*.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby/1.6/doc}
system %{scp -Cq doc/images/*.png lyle@rubyforge.org:/var/www/gforge-projects/fxruby/1.6/doc/images}
system %{scp -Cq examples/*.rb lyle@rubyforge.org:/var/www/gforge-projects/fxruby/1.6/examples}
system %{scp -Cq web/index.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
system %{scp -Cq web/community.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
system %{scp -Cq web/documentation.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
system %{scp -Cq web/downloads.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
system %{scp -Cq web/images/* lyle@rubyforge.org:/var/www/gforge-projects/fxruby/images}
system %{scp -Cq web/css/*.css lyle@rubyforge.org:/var/www/gforge-projects/fxruby/css}
# Make the compile task's list of dependencies begin with the :configure task
Rake::Task['compile'].prerequisites.unshift :configure
# Set environment variable SWIG_LIB to
# c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/share/swig/1.3.22
# before running swig on MinGW.
namespace :swig do
SWIG = "swig"
SWIGFLAGS = "-fcompact -noruntime -c++ -ruby -no_default -I../fox-includes"
SWIG_LIB = `#{SWIG} -swiglib`.chomp
SWIG_MODULES = {
"core.i" => "core_wrap.cpp",
"dcmodule.i" => "dc_wrap.cpp",
"dialogs.i" => "dialogs_wrap.cpp",
"framesmodule.i" => "frames_wrap.cpp",
"iconlistmodule.i" => "iconlist_wrap.cpp",
"icons.i" => "icons_wrap.cpp",
"image.i" => "image_wrap.cpp",
"labelmodule.i" => "label_wrap.cpp",
"layout.i" => "layout_wrap.cpp",
"listmodule.i" => "list_wrap.cpp",
"mdi.i" => "mdi_wrap.cpp",
"menumodule.i" => "menu_wrap.cpp",
"fx3d.i" => "fx3d_wrap.cpp",
"scintilla.i" => "scintilla_wrap.cpp",
"table-module.i" => "table_wrap.cpp",
"text-module.i" => "text_wrap.cpp",
"treelist-module.i" => "treelist_wrap.cpp",
"ui.i" => "ui_wrap.cpp"
}
def wrapper_src_file_path(wrapper_src_file_name)
File.join("..", "ext", "fox16", wrapper_src_file_name)
end
desc "Upload the DOAP file to the Web site"
task :doap => [:setversions] do
system %{scp -Cq doap.rdf lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
def sed(wrapper_src_file_name)
results = []
IO.readlines(wrapper_src_file_name).each do |line|
line.gsub!(/static VALUE mCore;/, "VALUE mCore;")
line.gsub!(/mCore = rb_define_module\("Core"\)/, "mFox = rb_define_module(\"Fox\")")
line.gsub!(/mCore/, "mFox")
next if line =~ /static VALUE m(Dc|Dialogs|Frames|Iconlist|Icons|Image|Label|Layout|List|Mdi|Menu|Fx3d|Scintilla|Table|Text|Treelist|Ui);/
next if line =~ /m(Dc|Dialogs|Frames|Iconlist|Icons|Image|Label|Layout|List|Mdi|Menu|Fx3d|Scintilla|Table|Text|Treelist|Ui) = rb_define_module/
next if line =~ /rb_require/
line.gsub!(/m(Dc|Dialogs|Frames|Iconlist|Icons|Image|Label|Layout|List|Mdi|Menu|Fx3d|Scintilla|Table|Text|Treelist|Ui),/, "mFox,")
results << line
end
File.open(wrapper_src_file_name, "w") do |io|
io.write(results.join)
end
end
desc "Set versions"
task :setversions do
setversions("doap.rdf")
def swig(swig_interface_file_name, wrapper_src_file_name)
system "#{SWIG} #{SWIGFLAGS} -o #{wrapper_src_file_path(wrapper_src_file_name)} #{swig_interface_file_name}"
sed wrapper_src_file_path(wrapper_src_file_name)
end
task :swig_librb do
Dir.chdir "swig-interfaces" do
File.open(wrapper_src_file_path("librb.c"), "w") do |io|
io.puts "#define SWIG_GLOBAL 1"
io.write(IO.read(File.join(SWIG_LIB, "ruby", "precommon.swg")))
io.write(IO.read(File.join(SWIG_LIB, "common.swg")))
io.write(IO.read(File.join(SWIG_LIB, "ruby", "rubyhead.swg")))
io.write(IO.read(File.join(SWIG_LIB, "ruby", "rubydef.swg")))
end
end
end
desc "Run SWIG to generate the wrapper files."
task :swig => [:swig_librb] do
Dir.chdir "swig-interfaces" do
SWIG_MODULES.each do |key, value|
swig(key, value)
end
end
end
end
namespace :fxruby do
DISTFILES = [
"ANNOUNCE",
"LICENSE",
......@@ -98,6 +157,37 @@ DISTFILES = [
"rdoc-sources/README.rdoc"
]
desc "Update the web site."
task :website => [:doap] do
system %{scp -Cq doc/*.css lyle@rubyforge.org:/var/www/gforge-projects/fxruby/1.6/doc}
system %{scp -Cq doc/*.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby/1.6/doc}
system %{scp -Cq doc/images/*.png lyle@rubyforge.org:/var/www/gforge-projects/fxruby/1.6/doc/images}
system %{scp -Cq examples/*.rb lyle@rubyforge.org:/var/www/gforge-projects/fxruby/1.6/examples}
system %{scp -Cq web/index.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
system %{scp -Cq web/community.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
system %{scp -Cq web/documentation.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
system %{scp -Cq web/downloads.html lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
system %{scp -Cq web/images/* lyle@rubyforge.org:/var/www/gforge-projects/fxruby/images}
system %{scp -Cq web/css/*.css lyle@rubyforge.org:/var/www/gforge-projects/fxruby/css}
end
desc "Upload the DOAP file to the Web site"
task :doap => [:setversions] do
system %{scp -Cq doap.rdf lyle@rubyforge.org:/var/www/gforge-projects/fxruby}
end
def setversions(filename)
File.open(filename, "wb") do |out|
template = ERB.new(File.open(filename + ".erb", "rb").read)
out.write(template.result)
end
end
desc "Set versions"
task :setversions do
setversions("doap.rdf")
end
def distdir
"FXRuby-#{PKG_VERSION}"
end
......@@ -159,91 +249,4 @@ end
task :generate_kwargs_lib do
ruby 'scripts/generate_kwargs_lib.rb'
end
Rake::ExtensionTask.new("fox16", hoe.spec) do |ext|
if RUBY_PLATFORM =~ /mingw/
ext.config_options << "--with-fox-include=c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/include/fox-1.6"
ext.config_options << "--with-fox-lib=c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/lib"
ext.config_options << "--with-fxscintilla-include=c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/include/fxscintilla"
ext.config_options << "--with-fxscintilla-lib=c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/lib"
end
end
# Make the compile task's list of dependencies begin with the :configure task
Rake::Task['compile'].prerequisites.unshift :configure
# Set environment variable SWIG_LIB to
# c:/ruby-1.8.6-p383-preview2/devkit/msys/1.0.11/usr/local/share/swig/1.3.22
# before running swig on MinGW.
namespace :swig do
SWIG = "swig"
SWIGFLAGS = "-fcompact -noruntime -c++ -ruby -no_default -I../fox-includes"
SWIG_LIB = `#{SWIG} -swiglib`.chomp
SWIG_MODULES = {
"core.i" => "core_wrap.cpp",
"dcmodule.i" => "dc_wrap.cpp",
"dialogs.i" => "dialogs_wrap.cpp",
"framesmodule.i" => "frames_wrap.cpp",
"iconlistmodule.i" => "iconlist_wrap.cpp",
"icons.i" => "icons_wrap.cpp",
"image.i" => "image_wrap.cpp",
"labelmodule.i" => "label_wrap.cpp",
"layout.i" => "layout_wrap.cpp",
"listmodule.i" => "list_wrap.cpp",
"mdi.i" => "mdi_wrap.cpp",
"menumodule.i" => "menu_wrap.cpp",
"fx3d.i" => "fx3d_wrap.cpp",
"scintilla.i" => "scintilla_wrap.cpp",
"table-module.i" => "table_wrap.cpp",
"text-module.i" => "text_wrap.cpp",
"treelist-module.i" => "treelist_wrap.cpp",
"ui.i" => "ui_wrap.cpp"
}
def wrapper_src_file_path(wrapper_src_file_name)
File.join("..", "ext", "fox16", wrapper_src_file_name)
end
def sed(wrapper_src_file_name)
results = []
IO.readlines(wrapper_src_file_name).each do |line|
line.gsub!(/static VALUE mCore;/, "VALUE mCore;")
line.gsub!(/mCore = rb_define_module\("Core"\)/, "mFox = rb_define_module(\"Fox\")")
line.gsub!(/mCore/, "mFox")
next if line =~ /static VALUE m(Dc|Dialogs|Frames|Iconlist|Icons|Image|Label|Layout|List|Mdi|Menu|Fx3d|Scintilla|Table|Text|Treelist|Ui);/
next if line =~ /m(Dc|Dialogs|Frames|Iconlist|Icons|Image|Label|Layout|List|Mdi|Menu|Fx3d|Scintilla|Table|Text|Treelist|Ui) = rb_define_module/
next if line =~ /rb_require/
line.gsub!(/m(Dc|Dialogs|Frames|Iconlist|Icons|Image|Label|Layout|List|Mdi|Menu|Fx3d|Scintilla|Table|Text|Treelist|Ui),/, "mFox,")
results << line
end
File.open(wrapper_src_file_name, "w") do |io|
io.write(results.join)
end
end
def swig(swig_interface_file_name, wrapper_src_file_name)
system "#{SWIG} #{SWIGFLAGS} -o #{wrapper_src_file_path(wrapper_src_file_name)} #{swig_interface_file_name}"
sed wrapper_src_file_path(wrapper_src_file_name)
end
task :swig_librb do
Dir.chdir "swig-interfaces" do
File.open(wrapper_src_file_path("librb.c"), "w") do |io|
io.puts "#define SWIG_GLOBAL 1"
io.write(IO.read(File.join(SWIG_LIB, "ruby", "precommon.swg")))
io.write(IO.read(File.join(SWIG_LIB, "common.swg")))
io.write(IO.read(File.join(SWIG_LIB, "ruby", "rubyhead.swg")))
io.write(IO.read(File.join(SWIG_LIB, "ruby", "rubydef.swg")))
end
end
end
desc "Run SWIG to generate the wrapper files."
task :swig => [:swig_librb] do
Dir.chdir "swig-interfaces" do
SWIG_MODULES.each do |key, value|
swig(key, value)
end
end
end
end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment