1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00

clean pattern is global; etc

git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@669 19e92222-5c0b-0410-8929-a290d50e31e9
This commit is contained in:
evanweaver 2007-10-17 06:31:45 +00:00
parent 0c1c2b072b
commit a7c3afa1c5
2 changed files with 18 additions and 63 deletions

View file

@ -6,7 +6,7 @@ require 'echoe'
Echoe.new("mongrel") do |p|
p.summary = "A small fast HTTP library and server that runs Rails, Camping, Nitro and Iowa apps."
p.author ="Zed A. Shaw"
p.clean_pattern = ["ext/http11/*.{bundle,so,o,obj,pdb,lib,def,exp}", "ext/http11/Makefile", "pkg", "lib/*.bundle", "*.gem", "doc/site/output", ".config"]
p.clean_pattern = ['ext/http11/*.{bundle,so,o,obj,pdb,lib,def,exp}', 'ext/http11/Makefile', 'pkg', 'lib/*.bundle', '*.gem', 'doc/site/output', '.config', 'lib/http11.jar', 'ext/http11_java/classes']
p.rdoc_pattern = ['README', 'LICENSE', 'COPYING', 'lib/**/*.rb', 'doc/**/*.rdoc', 'ext/http11/http11.c']
p.ignore_pattern = /^(pkg|site|projects|doc|log)|CVS|\.log/
p.ruby_version = '>= 1.8.4'
@ -21,7 +21,6 @@ Echoe.new("mongrel") do |p|
p.certificate_chain = ['~/gem_certificates/mongrel-public_cert.pem',
'~/gem_certificates/luislavena-mongrel-public_cert.pem']
when /java/
p.clean_pattern += ["lib/http11.jar"]
else
p.certificate_chain = ['~/p/configuration/gem_certificates/mongrel/mongrel-public_cert.pem',
'~/p/configuration/gem_certificates/evan_weaver-mongrel-public_cert.pem']
@ -51,6 +50,18 @@ def move_extensions
Dir["ext/**/*.#{Config::CONFIG['DLEXT']}"].each { |file| cp file, "lib/" }
end
def java_classpath_arg
# A myriad of ways to discover the JRuby classpath
classpath = begin
require 'java'
# Already running in a JRuby JVM
Java::java.lang.System.getProperty('java.class.path')
rescue LoadError
ENV['JRUBY_PARENT_CLASSPATH'] || ENV['JRUBY_HOME'] && FileList["#{ENV['JRUBY_HOME']}/lib/*.jar"].join(File::PATH_SEPARATOR)
end
classpath ? "-cp #{classpath}" : ""
end
case RUBY_PLATFORM
when /mswin/
filename = "lib/http11.so"
@ -65,22 +76,12 @@ when /mswin/
when /java/
filename = "lib/http11.jar"
def java_classpath_arg # myriad of ways to discover JRuby classpath
begin
require 'java' # already running in a JRuby JVM
jruby_cpath = Java::java.lang.System.getProperty('java.class.path')
rescue LoadError
end
unless jruby_cpath
jruby_cpath = ENV['JRUBY_PARENT_CLASSPATH'] || ENV['JRUBY_HOME'] &&
FileList["#{ENV['JRUBY_HOME']}/lib/*.jar"].join(File::PATH_SEPARATOR)
end
cpath_arg = jruby_cpath ? "-cp #{jruby_cpath}" : ""
end
file filename do
mkdir_p "pkg/classes"
sh "javac -target 1.4 -source 1.4 -d pkg/classes #{java_classpath_arg} #{FileList['ext/http11_java//**/*.java'].join(' ')}"
sh "jar cf lib/http11.jar -C pkg/classes/ ."
build_dir = "ext/http11_java/classes"
mkdir_p build_dir
sources = FileList['ext/http11_java/**/*.java'].join(' ')
sh "javac -target 1.4 -source 1.4 -d #{build_dir} #{java_classpath_arg} #{sources}"
sh "jar cf lib/http11.jar -C #{build_dir} ."
move_extensions
end
task :compile => [filename]

View file

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="build" name="mongrel-support">
<property environment="env"/>
<property file="build.properties"/>
<property name="lib.dir" value="${env.JRUBY_HOME}/lib"/>
<property name="target" value="target"/>
<property name="target.classes" value="${target}/classes"/>
<property name="target.classes.test" value="${target}/test-classes"/>
<path id="build.classpath">
<fileset dir="${lib.dir}" includes="*.jar" excludes="mongrel-support.jar,http11.jar"/>
</path>
<target name="init">
<mkdir dir="${target}"/>
<mkdir dir="${target.classes}"/>
</target>
<target name="clean">
<delete dir="target"/>
</target>
<target name="ragel" description="Standalone target that generates all our ragel based source files. Requires ragel and rlgen-java to be on the classpath">
<exec executable="ragel" output="__ragel_out">
<arg line="-J"/>
<arg line="org/jruby/mongrel/http11_parser.rl"/>
</exec>
<exec executable="rlgen-java" input="__ragel_out">
<arg line="-o org/jruby/mongrel/Http11Parser.java"/>
</exec>
<delete file="__ragel_out"/>
</target>
<target depends="init" name="build" description="Compiles Java source files">
<javac debug="true" destdir="${target.classes}">
<classpath refid="build.classpath"/>
<src path="."/>
</javac>
</target>
<target depends="build" name="jar" description="Build a JAR file with the generated Java class files">
<jar destfile="mongrel-support.jar" basedir="${target.classes}"/>
<jar destfile="http11.jar" basedir="${target.classes}"/>
</target>
</project>