mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
a6c058e7a6
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@737 19e92222-5c0b-0410-8929-a290d50e31e9
91 lines
2.4 KiB
Ruby
91 lines
2.4 KiB
Ruby
require 'echoe'
|
|
require 'tools/freebasic'
|
|
|
|
# Task :package needs compile before doing the gem stuff.
|
|
# (weird behavior of Rake?)
|
|
task :package => [:compile]
|
|
|
|
echoe_spec = Echoe.new("mongrel_service") do |p|
|
|
p.summary = "Mongrel Native Win32 Service Plugin for Rails"
|
|
p.summary += " (debug build)" unless ENV['RELEASE']
|
|
p.description = "This plugin offer native win32 services for rails, powered by Mongrel."
|
|
p.author = "Luis Lavena"
|
|
p.platform = Gem::Platform::WIN32
|
|
p.dependencies = ['gem_plugin >=0.2.3', 'mongrel >=1.0.2', 'win32-service >=0.5.0']
|
|
|
|
p.executable_pattern = ""
|
|
|
|
p.need_tar_gz = false
|
|
p.need_zip = true
|
|
p.certificate_chain = ['~/gem_certificates/mongrel-public_cert.pem',
|
|
'~/gem_certificates/luislavena-mongrel-public_cert.pem']
|
|
p.require_signed = true
|
|
end
|
|
|
|
desc "Compile native code"
|
|
task :compile => [:native_lib, :native_service]
|
|
|
|
# global options shared by all the project in this Rakefile
|
|
OPTIONS = {
|
|
:debug => false,
|
|
:profile => false,
|
|
:errorchecking => :ex,
|
|
:mt => true,
|
|
:pedantic => true }
|
|
|
|
OPTIONS[:debug] = true if ENV['DEBUG']
|
|
OPTIONS[:profile] = true if ENV['PROFILE']
|
|
OPTIONS[:errorchecking] = :exx if ENV['EXX']
|
|
OPTIONS[:pedantic] = false if ENV['NOPEDANTIC']
|
|
|
|
# ServiceFB namespace (lib)
|
|
namespace :lib do
|
|
project_task 'servicefb' do
|
|
lib 'ServiceFB'
|
|
build_to 'lib'
|
|
|
|
define 'SERVICEFB_DEBUG_LOG' unless ENV['RELEASE']
|
|
source 'lib/ServiceFB/ServiceFB.bas'
|
|
|
|
option OPTIONS
|
|
end
|
|
|
|
project_task 'servicefb_utils' do
|
|
lib 'ServiceFB_Utils'
|
|
build_to 'lib'
|
|
|
|
define 'SERVICEFB_DEBUG_LOG' unless ENV['RELEASE']
|
|
source 'lib/ServiceFB/ServiceFB_Utils.bas'
|
|
|
|
option OPTIONS
|
|
end
|
|
end
|
|
|
|
# add lib namespace to global tasks
|
|
#include_projects_of :lib
|
|
task :native_lib => "lib:build"
|
|
task :clean => "lib:clobber"
|
|
|
|
# mongrel_service (native)
|
|
namespace :native do
|
|
project_task 'mongrel_service' do
|
|
executable 'mongrel_service'
|
|
build_to 'bin'
|
|
|
|
define 'DEBUG_LOG' unless ENV['RELEASE']
|
|
define "GEM_VERSION=#{echoe_spec.version}"
|
|
|
|
main 'native/mongrel_service.bas'
|
|
source 'native/console_process.bas'
|
|
|
|
lib_path 'lib'
|
|
library 'ServiceFB', 'ServiceFB_Utils'
|
|
library 'user32', 'advapi32', 'psapi'
|
|
|
|
option OPTIONS
|
|
end
|
|
end
|
|
|
|
#include_projects_of :native
|
|
task :native_service => "native:build"
|
|
task :clean => "native:clobber"
|