Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 573 lines (485 sloc) 16.548 kb
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
1 # kate: syntax ruby
bd6e3b4 @FooBarWidget Insert GPL headers to source files.
FooBarWidget authored
2
3 # Phusion Passenger - http://www.modrails.com/
4 # Copyright (C) 2008 Phusion
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; version 2 of the License.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License along
16 # with this program; if not, write to the Free Software Foundation, Inc.,
17 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
19 $LOAD_PATH.unshift("#{File.dirname(__FILE__)}/lib")
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
20 require 'rubygems'
7f3904d @FooBarWidget Add RDoc Rake task. Modify some files for improve RDoc output.
FooBarWidget authored
21 require 'rake/rdoctask'
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
22 require 'rake/gempackagetask'
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
23 require 'rake/extensions'
797952c @FooBarWidget Split most platform-specific autodetection code to a seperate module.
FooBarWidget authored
24 require 'rake/cplusplus'
9d714c0 @FooBarWidget Rename 'mod_rails' directories to 'passenger'
FooBarWidget authored
25 require 'passenger/platform_info'
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
26
58e8777 @FooBarWidget Set Rake verbosity to true so that compilation commands are still shown ...
FooBarWidget authored
27 verbose true
28
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
29 ##### Configuration
30
d6ef3dd @FooBarWidget Add X-Powered-By header to HTTP requests.
FooBarWidget authored
31 # Don't forget to edit Configuration.h too
62048ce @FooBarWidget Bump version number to 2.0.4.
FooBarWidget authored
32 PACKAGE_VERSION = "2.0.4"
0b25079 @FooBarWidget Add Rakefile flag for enabling compiler optimizations.
FooBarWidget authored
33 OPTIMIZE = ["yes", "on", "true"].include?(ENV['OPTIMIZE'])
d6ef3dd @FooBarWidget Add X-Powered-By header to HTTP requests.
FooBarWidget authored
34
797952c @FooBarWidget Split most platform-specific autodetection code to a seperate module.
FooBarWidget authored
35 include PlatformInfo
33434fa @FooBarWidget Check for APR before compiling
FooBarWidget authored
36 APXS2.nil? and raise "Could not find 'apxs' or 'apxs2'."
826b4e9 @FooBarWidget Aggressively improve platform autodetection.
FooBarWidget authored
37 APACHE2CTL.nil? and raise "Could not find 'apachectl' or 'apache2ctl'."
38 HTTPD.nil? and raise "Could not find the Apache web server binary."
e58be53 @FooBarWidget Do not look for apr-1-config in PATH if we're building against OS X's de...
FooBarWidget authored
39 APR_FLAGS.nil? and raise "Could not find Apache Portable Runtime (APR)."
4ecaacf @pgollucci Both apr and apr-util are required to build passenger.
pgollucci authored
40 APU_FLAGS.nil? and raise "Could not find Apache Portable Runtime Utility (APU)."
797952c @FooBarWidget Split most platform-specific autodetection code to a seperate module.
FooBarWidget authored
41
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
42 CXX = "g++"
67c896b @FooBarWidget Attempt to fix threading compilation issues on Debian Sarge.
FooBarWidget authored
43 THREADING_FLAGS = "-D_REENTRANT"
0b25079 @FooBarWidget Add Rakefile flag for enabling compiler optimizations.
FooBarWidget authored
44 if OPTIMIZE
45 OPTIMIZATION_FLAGS = "-O2 -DNDEBUG"
46 else
47 OPTIMIZATION_FLAGS = "-g -DPASSENGER_DEBUG"
48 end
49 CXXFLAGS = "#{THREADING_FLAGS} #{OPTIMIZATION_FLAGS} -Wall -I/usr/local/include #{MULTI_ARCH_FLAGS}"
4e96c5f @FooBarWidget Fix some build problems.
FooBarWidget authored
50 LDFLAGS = ""
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
51
52
33b0064 @FooBarWidget Fix build problems
FooBarWidget authored
53 #### Default tasks
54
55 desc "Build everything"
56 task :default => [
d92d3e5 @FooBarWidget Seperate integration tests from unit tests.
FooBarWidget authored
57 :native_support,
33b0064 @FooBarWidget Fix build problems
FooBarWidget authored
58 :apache2,
59 'test/Apache2ModuleTests',
60 'benchmark/DummyRequestHandler'
61 ]
62
079ccdc @FooBarWidget Remove generated API docs with 'clobber' instead of 'clean'.
FooBarWidget authored
63 desc "Remove compiled files"
33b0064 @FooBarWidget Fix build problems
FooBarWidget authored
64 task :clean
65
079ccdc @FooBarWidget Remove generated API docs with 'clobber' instead of 'clean'.
FooBarWidget authored
66 desc "Remove all generated files"
67 task :clobber
68
33b0064 @FooBarWidget Fix build problems
FooBarWidget authored
69
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
70 ##### Ruby C extension
71
9d714c0 @FooBarWidget Rename 'mod_rails' directories to 'passenger'
FooBarWidget authored
72 subdir 'ext/passenger' do
d92d3e5 @FooBarWidget Seperate integration tests from unit tests.
FooBarWidget authored
73 task :native_support => ["native_support.#{LIBEXT}"]
74
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
75 file 'Makefile' => 'extconf.rb' do
854b700 @FooBarWidget When running extconf.rb, use the 'RUBY' constant instead of the 'ruby' c...
FooBarWidget authored
76 sh "#{RUBY} extconf.rb"
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
77 end
78
33b0064 @FooBarWidget Fix build problems
FooBarWidget authored
79 file "native_support.#{LIBEXT}" => ['Makefile', 'native_support.c'] do
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
80 sh "make"
81 end
82
83 task :clean do
84 sh "make clean" if File.exist?('Makefile')
85 sh "rm -f Makefile"
86 end
87 end
88
89
90 ##### boost::thread static library
91
92 subdir 'ext/boost/src' do
246c833 @FooBarWidget Fix compatibility problem with older Rake.
FooBarWidget authored
93 file 'libboost_thread.a' => Dir['*.cpp'] + Dir['pthread/*.cpp'] do
0b25079 @FooBarWidget Add Rakefile flag for enabling compiler optimizations.
FooBarWidget authored
94 flags = "#{OPTIMIZATION_FLAGS} -fPIC -I../.. #{THREADING_FLAGS} -DNDEBUG #{MULTI_ARCH_FLAGS}"
15d3293 @FooBarWidget Compile ext/boost/src/pthread/*.cpp individually instead of in bulk. Fix...
FooBarWidget authored
95 compile_cxx "*.cpp", flags
96 # NOTE: 'compile_cxx "pthread/*.cpp", flags' doesn't work on some systems,
97 # so we do this instead.
98 Dir['pthread/*.cpp'].each do |file|
99 compile_cxx file, flags
100 end
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
101 create_static_library "libboost_thread.a", "*.o"
102 end
103
104 task :clean do
105 sh "rm -f libboost_thread.a *.o"
106 end
107 end
108
109
110 ##### Apache module
111
112 class APACHE2
4ecaacf @pgollucci Both apr and apr-util are required to build passenger.
pgollucci authored
113 CXXFLAGS = "-I.. -fPIC #{OPTIMIZATION_FLAGS} #{APR_FLAGS} #{APU_FLAGS} #{APXS2_FLAGS} #{::CXXFLAGS}"
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
114 OBJECTS = {
8d16734 @FooBarWidget Bump version number to 0.9.3
FooBarWidget authored
115 'Configuration.o' => %w(Configuration.cpp Configuration.h),
19a6de3 @FooBarWidget Do not use apr_bucket_pipe anymore, because it only closes the pipe if r...
FooBarWidget authored
116 'Bucket.o' => %w(Bucket.cpp Bucket.h),
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
117 'Hooks.o' => %w(Hooks.cpp Hooks.h
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
118 Configuration.h ApplicationPool.h ApplicationPoolServer.h
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
119 SpawnManager.h Exceptions.h Application.h MessageChannel.h
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
120 System.h Utils.h),
121 'System.o' => %w(System.cpp System.h),
122 'Utils.o' => %w(Utils.cpp Utils.h),
31ac611 @FooBarWidget Improve error reporting.
FooBarWidget authored
123 'Logging.o' => %w(Logging.cpp Logging.h)
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
124 }
125 end
126
127 subdir 'ext/apache2' do
4e96c5f @FooBarWidget Fix some build problems.
FooBarWidget authored
128 apxs_objects = APACHE2::OBJECTS.keys.join(',')
129
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
130 desc "Build mod_passenger Apache 2 module"
9b9f71b @FooBarWidget Begin working on seperating ApplicationPool server into a seperate execu...
FooBarWidget authored
131 task :apache2 => ['mod_passenger.so', 'ApplicationPoolServerExecutable', :native_support]
5700d56 @FooBarWidget Fix a few build problems.
FooBarWidget authored
132
9b9f71b @FooBarWidget Begin working on seperating ApplicationPool server into a seperate execu...
FooBarWidget authored
133 file 'mod_passenger.so' => [
134 '../boost/src/libboost_thread.a',
135 'mod_passenger.o'
136 ] + APACHE2::OBJECTS.keys do
7d7ac08 @FooBarWidget Attempt to fix compilation on OS X. *Still* not done. :(
FooBarWidget authored
137 # apxs totally sucks. We couldn't get it working correctly
138 # on MacOS X (it had various problems with building universal
139 # binaries), so we decided to ditch it and build/install the
140 # Apache module ourselves.
141 #
142 # Oh, and libtool sucks too. Do we even need it anymore in 2008?
797952c @FooBarWidget Split most platform-specific autodetection code to a seperate module.
FooBarWidget authored
143 linkflags = "#{LDFLAGS} #{MULTI_ARCH_FLAGS}"
e58be53 @FooBarWidget Do not look for apr-1-config in PATH if we're building against OS X's de...
FooBarWidget authored
144 linkflags << " -lstdc++ -lpthread ../boost/src/libboost_thread.a #{APR_LIBS}"
c7cb438 @FooBarWidget Finish the Apache 2 module installer script. Rename mod_rails to mod_pas...
FooBarWidget authored
145 create_shared_library 'mod_passenger.so',
146 APACHE2::OBJECTS.keys.join(' ') << ' mod_passenger.o',
7d7ac08 @FooBarWidget Attempt to fix compilation on OS X. *Still* not done. :(
FooBarWidget authored
147 linkflags
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
148 end
149
9b9f71b @FooBarWidget Begin working on seperating ApplicationPool server into a seperate execu...
FooBarWidget authored
150 file 'ApplicationPoolServerExecutable' => [
151 '../boost/src/libboost_thread.a',
152 'ApplicationPoolServerExecutable.cpp',
153 'ApplicationPool.h',
154 'StandardApplicationPool.h',
c3d8692 @FooBarWidget Make SpawnManager interruption-safe. Improve interruption support in App...
FooBarWidget authored
155 'MessageChannel.h',
156 'SpawnManager.h',
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
157 'System.o',
9b9f71b @FooBarWidget Begin working on seperating ApplicationPool server into a seperate execu...
FooBarWidget authored
158 'Utils.o',
159 'Logging.o'
160 ] do
161 create_executable "ApplicationPoolServerExecutable",
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
162 'ApplicationPoolServerExecutable.cpp System.o Utils.o Logging.o',
a34583a @FooBarWidget Fix worker MPM compatibility issues:
FooBarWidget authored
163 "-I.. #{CXXFLAGS} #{LDFLAGS} -DPASSENGER_DEBUG ../boost/src/libboost_thread.a -lpthread"
9b9f71b @FooBarWidget Begin working on seperating ApplicationPool server into a seperate execu...
FooBarWidget authored
164 end
165
c7cb438 @FooBarWidget Finish the Apache 2 module installer script. Rename mod_rails to mod_pas...
FooBarWidget authored
166 file 'mod_passenger.o' => ['mod_passenger.c'] do
167 compile_c 'mod_passenger.c', APACHE2::CXXFLAGS
7d7ac08 @FooBarWidget Attempt to fix compilation on OS X. *Still* not done. :(
FooBarWidget authored
168 end
169
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
170 APACHE2::OBJECTS.each_pair do |target, sources|
171 file target => sources do
172 compile_cxx sources[0], APACHE2::CXXFLAGS
173 end
174 end
175
94e1df7 @FooBarWidget Improve documentation for the 'subdir' Rake function. Use symbol-string ...
FooBarWidget authored
176 task :clean => :'apache2:clean'
7d7ac08 @FooBarWidget Attempt to fix compilation on OS X. *Still* not done. :(
FooBarWidget authored
177
178 desc "Remove generated files for mod_passenger Apache 2 module"
179 task 'apache2:clean' do
629704a @FooBarWidget Integrate the new ApplicationPoolServer implementation. Doesn't actually...
FooBarWidget authored
180 files = [APACHE2::OBJECTS.keys, %w(mod_passenger.o mod_passenger.so
181 ApplicationPoolServerExecutable)]
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
182 sh("rm", "-rf", *files.flatten)
183 end
184 end
185
186
187 ##### Unit tests
188
189 class TEST
4ecaacf @pgollucci Both apr and apr-util are required to build passenger.
pgollucci authored
190 CXXFLAGS = "#{::CXXFLAGS} -Isupport -DTESTING_SPAWN_MANAGER -DTESTING_APPLICATION_POOL "
191 AP2_FLAGS = "-I../ext/apache2 -I../ext #{APR_FLAGS} #{APU_FLAGS}"
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
192
193 AP2_OBJECTS = {
194 'CxxTestMain.o' => %w(CxxTestMain.cpp),
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
195 'MessageChannelTest.o' => %w(MessageChannelTest.cpp
196 ../ext/apache2/MessageChannel.h
197 ../ext/apache2/System.h),
90dcf23 @FooBarWidget Request handler: use Unix sockets in the abstract namespace instead of t...
FooBarWidget authored
198 'SpawnManagerTest.o' => %w(SpawnManagerTest.cpp
199 ../ext/apache2/SpawnManager.h
8ec6efa @FooBarWidget Attempt to fix file descriptor passing in OS X (again).
FooBarWidget authored
200 ../ext/apache2/Application.h
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
201 ../ext/apache2/MessageChannel.h
202 ../ext/apache2/System.h),
674d5ba @FooBarWidget Reorganize the C++ unit test files.
FooBarWidget authored
203 'ApplicationPoolServerTest.o' => %w(ApplicationPoolServerTest.cpp
f02c08e @FooBarWidget Merge branch 'stable-1.0'
FooBarWidget authored
204 ../ext/apache2/ApplicationPoolServer.h
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
205 ../ext/apache2/MessageChannel.h
206 ../ext/apache2/System.h),
674d5ba @FooBarWidget Reorganize the C++ unit test files.
FooBarWidget authored
207 'ApplicationPoolServer_ApplicationPoolTest.o' => %w(ApplicationPoolServer_ApplicationPoolTest.cpp
208 ApplicationPoolTest.cpp
629704a @FooBarWidget Integrate the new ApplicationPoolServer implementation. Doesn't actually...
FooBarWidget authored
209 ../ext/apache2/ApplicationPoolServer.h
4551a60 @FooBarWidget SpawnManager: catch a previously uncaught exception. Unit tests: ignore ...
FooBarWidget authored
210 ../ext/apache2/ApplicationPool.h
90dcf23 @FooBarWidget Request handler: use Unix sockets in the abstract namespace instead of t...
FooBarWidget authored
211 ../ext/apache2/SpawnManager.h
8ec6efa @FooBarWidget Attempt to fix file descriptor passing in OS X (again).
FooBarWidget authored
212 ../ext/apache2/Application.h
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
213 ../ext/apache2/MessageChannel.h
214 ../ext/apache2/System.h),
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
215 'StandardApplicationPoolTest.o' => %w(StandardApplicationPoolTest.cpp
674d5ba @FooBarWidget Reorganize the C++ unit test files.
FooBarWidget authored
216 ApplicationPoolTest.cpp
4551a60 @FooBarWidget SpawnManager: catch a previously uncaught exception. Unit tests: ignore ...
FooBarWidget authored
217 ../ext/apache2/ApplicationPool.h
9f0d082 @FooBarWidget Split StandardApplicationPool to its own file.
FooBarWidget authored
218 ../ext/apache2/StandardApplicationPool.h
90dcf23 @FooBarWidget Request handler: use Unix sockets in the abstract namespace instead of t...
FooBarWidget authored
219 ../ext/apache2/SpawnManager.h
220 ../ext/apache2/Application.h),
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
221 'UtilsTest.o' => %w(UtilsTest.cpp ../ext/apache2/Utils.h)
222 }
223 end
224
225 subdir 'test' do
b2d4cc2 @FooBarWidget Implement user switching support.
FooBarWidget authored
226 desc "Run all unit tests (but not integration tests)"
d92d3e5 @FooBarWidget Seperate integration tests from unit tests.
FooBarWidget authored
227 task :test => [:'test:apache2', :'test:ruby', :'test:integration']
02ce854 @FooBarWidget - Add rules for running the unit tests.
FooBarWidget authored
228
229 desc "Run unit tests for the Apache 2 module"
9b9f71b @FooBarWidget Begin working on seperating ApplicationPool server into a seperate execu...
FooBarWidget authored
230 task 'test:apache2' => [
231 'Apache2ModuleTests',
232 '../ext/apache2/ApplicationPoolServerExecutable',
233 :native_support
234 ] do
02ce854 @FooBarWidget - Add rules for running the unit tests.
FooBarWidget authored
235 sh "./Apache2ModuleTests"
236 end
237
634b9bd @FooBarWidget - Attempt to improve error handling.
FooBarWidget authored
238 desc "Run unit tests for the Apache 2 module in Valgrind"
629704a @FooBarWidget Integrate the new ApplicationPoolServer implementation. Doesn't actually...
FooBarWidget authored
239 task 'test:valgrind' => [
240 'Apache2ModuleTests',
241 '../ext/apache2/ApplicationPoolServerExecutable',
242 :native_support
243 ] do
634b9bd @FooBarWidget - Attempt to improve error handling.
FooBarWidget authored
244 sh "valgrind #{ENV['ARGS']} ./Apache2ModuleTests"
245 end
246
02ce854 @FooBarWidget - Add rules for running the unit tests.
FooBarWidget authored
247 desc "Run unit tests for the Ruby libraries"
d92d3e5 @FooBarWidget Seperate integration tests from unit tests.
FooBarWidget authored
248 task 'test:ruby' => [:native_support] do
a72b5b5 @FooBarWidget Add RCov support.
FooBarWidget authored
249 sh "spec -c -f s ruby/*.rb ruby/*/*.rb"
250 end
251
252 task 'test:rcov' => [:native_support] do
253 rspec = PlatformInfo.find_command('spec')
254 sh "rcov", "--exclude",
255 "lib\/spec,\/spec$,_spec\.rb$,support\/,platform_info,integration_tests",
256 rspec, "--", "-c", "-f", "s",
257 *Dir["ruby/*.rb", "ruby/*/*.rb", "integration_tests.rb"]
02ce854 @FooBarWidget - Add rules for running the unit tests.
FooBarWidget authored
258 end
d92d3e5 @FooBarWidget Seperate integration tests from unit tests.
FooBarWidget authored
259
260 desc "Run integration tests"
261 task 'test:integration' => [:apache2, :native_support] do
fe97ccf @FooBarWidget Fix a potential racing condition.
FooBarWidget authored
262 sh "spec -c -f s integration_tests.rb"
d92d3e5 @FooBarWidget Seperate integration tests from unit tests.
FooBarWidget authored
263 end
02ce854 @FooBarWidget - Add rules for running the unit tests.
FooBarWidget authored
264
ce3a193 @FooBarWidget Correctly handle exceptions that occur in the ApplicationPoolServer thre...
FooBarWidget authored
265 file 'Apache2ModuleTests' => TEST::AP2_OBJECTS.keys +
266 ['../ext/boost/src/libboost_thread.a',
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
267 '../ext/apache2/System.o',
74415de @FooBarWidget Don't forget to compile Logging.o when compiling unit tests.
FooBarWidget authored
268 '../ext/apache2/Utils.o',
269 '../ext/apache2/Logging.o'] do
31ac611 @FooBarWidget Improve error reporting.
FooBarWidget authored
270 objects = TEST::AP2_OBJECTS.keys.join(' ') <<
3de482a @FooBarWidget Implement support for interruptable system calls. This allows the Applic...
FooBarWidget authored
271 " ../ext/apache2/System.o" <<
31ac611 @FooBarWidget Improve error reporting.
FooBarWidget authored
272 " ../ext/apache2/Utils.o" <<
273 " ../ext/apache2/Logging.o"
4e96c5f @FooBarWidget Fix some build problems.
FooBarWidget authored
274 create_executable "Apache2ModuleTests", objects,
e58be53 @FooBarWidget Do not look for apr-1-config in PATH if we're building against OS X's de...
FooBarWidget authored
275 "#{LDFLAGS} #{APR_LIBS} #{MULTI_ARCH_FLAGS} " <<
3ae8f88 @FooBarWidget Fix website URL in gem specification. Remove dependency on Rails and rsp...
FooBarWidget authored
276 "../ext/boost/src/libboost_thread.a -lpthread"
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
277 end
278
279 TEST::AP2_OBJECTS.each_pair do |target, sources|
280 file target => sources do
605be0d @FooBarWidget Rearrange compiler flags, so that the compiler will use Boost as shipped...
FooBarWidget authored
281 compile_cxx sources[0], "#{TEST::AP2_FLAGS} #{TEST::CXXFLAGS}"
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
282 end
283 end
284
fe97ccf @FooBarWidget Fix a potential racing condition.
FooBarWidget authored
285 desc "Run the restart integration test infinitely, and abort if/when it fails"
286 task 'test:restart' => [:apache2, :native_support] do
287 color_code_start = "\e[33m\e[44m\e[1m"
288 color_code_end = "\e[0m"
289 i = 1
290 while true do
291 puts "#{color_code_start}Test run #{i} (press Ctrl-C multiple times to abort)#{color_code_end}"
292 sh "spec -c -f s integration_tests.rb -e 'mod_passenger running in Apache 2 : MyCook(tm) beta running on root URI should support restarting via restart.txt'"
293 i += 1
294 end
295 end
296
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
297 task :clean do
298 sh "rm -f Apache2ModuleTests *.o"
299 end
300 end
301
302
303 ##### Benchmarks
304
305 subdir 'benchmark' do
306 file 'DummyRequestHandler' => ['DummyRequestHandler.cpp',
0b25079 @FooBarWidget Add Rakefile flag for enabling compiler optimizations.
FooBarWidget authored
307 '../ext/apache2/MessageChannel.h',
308 '../ext/apache2/System.o',
309 '../ext/boost/src/libboost_thread.a'] do
4e96c5f @FooBarWidget Fix some build problems.
FooBarWidget authored
310 create_executable "DummyRequestHandler", "DummyRequestHandler.cpp",
0b25079 @FooBarWidget Add Rakefile flag for enabling compiler optimizations.
FooBarWidget authored
311 "-I../ext -I../ext/apache2 #{CXXFLAGS} #{LDFLAGS} " <<
312 "../ext/apache2/System.o " <<
313 "../ext/boost/src/libboost_thread.a -lpthread"
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
314 end
315
827cfb0 @FooBarWidget Add ApplicationPool benchmarking tool.
FooBarWidget authored
316 file 'ApplicationPool' => ['ApplicationPool.cpp',
317 '../ext/apache2/StandardApplicationPool.h',
318 '../ext/apache2/ApplicationPoolServerExecutable',
319 '../ext/apache2/System.o',
320 '../ext/apache2/Logging.o',
321 '../ext/apache2/Utils.o',
322 '../ext/boost/src/libboost_thread.a',
323 :native_support] do
324 create_executable "ApplicationPool", "ApplicationPool.cpp",
325 "-I../ext -I../ext/apache2 #{CXXFLAGS} #{LDFLAGS} " <<
326 "../ext/apache2/System.o ../ext/apache2/Logging.o " <<
327 "../ext/apache2/Utils.o " <<
328 "../ext/boost/src/libboost_thread.a -lpthread"
329 end
330
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
331 task :clean do
827cfb0 @FooBarWidget Add ApplicationPool benchmarking tool.
FooBarWidget authored
332 sh "rm -f DummyRequestHandler ApplicationPool"
46e3283 @FooBarWidget Swtich to Rake as build system. Remove some unnecessary files that were ...
FooBarWidget authored
333 end
334 end
335
336
5fe3d4e @FooBarWidget Improve documentation and fix some spelling mistakes. Rename C++ Doxygen...
FooBarWidget authored
337 ##### Documentation
7f3904d @FooBarWidget Add RDoc Rake task. Modify some files for improve RDoc output.
FooBarWidget authored
338
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
339 subdir 'doc' do
8ec6d80 @FooBarWidget More work on the architectural overview
FooBarWidget authored
340 ASCIIDOC = "asciidoc -a toc -a numbered -a toclevels=3 -a icons"
1c9a41e @FooBarWidget Make Rakefile DRYer
FooBarWidget authored
341 ASCII_DOCS = ['Security of user switching support', 'Users guide',
342 'Architectural overview']
8ec6d80 @FooBarWidget More work on the architectural overview
FooBarWidget authored
343
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
344 desc "Generate all documentation"
1c9a41e @FooBarWidget Make Rakefile DRYer
FooBarWidget authored
345 task :doc => [:rdoc, :doxygen] + ASCII_DOCS.map{ |x| "#{x}.html" }
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
346
1c9a41e @FooBarWidget Make Rakefile DRYer
FooBarWidget authored
347 ASCII_DOCS.each do |name|
8ec6d80 @FooBarWidget More work on the architectural overview
FooBarWidget authored
348 file "#{name}.html" => ["#{name}.txt"] do
349 sh "#{ASCIIDOC} '#{name}.txt'"
350 end
466c9bc @FooBarWidget Add users guide
FooBarWidget authored
351 end
352
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
353 task :clobber => [:'doxygen:clobber'] do
354 sh "rm -f *.html"
355 end
356
357 desc "Generate Doxygen C++ API documentation if necessary"
358 task :doxygen => ['cxxapi']
359 file 'cxxapi' => Dir['../ext/apache2/*.{h,c,cpp}'] do
d73f7e2 @FooBarWidget Improve documentation and documentation-related Rake tasks.
FooBarWidget authored
360 sh "doxygen"
361 end
362
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
363 desc "Force generation of Doxygen C++ API documentation"
364 task :'doxygen:force' do
5fe3d4e @FooBarWidget Improve documentation and fix some spelling mistakes. Rename C++ Doxygen...
FooBarWidget authored
365 sh "doxygen"
366 end
367
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
368 desc "Remove generated Doxygen C++ API documentation"
369 task :'doxygen:clobber' do
5fe3d4e @FooBarWidget Improve documentation and fix some spelling mistakes. Rename C++ Doxygen...
FooBarWidget authored
370 sh "rm -rf cxxapi"
371 end
372 end
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
373
c65edf9 @FooBarWidget Modify rake/rdoctask to allow arbitrary customization of task names.
FooBarWidget authored
374 Rake::RDocTask.new(:clobber_rdoc => "rdoc:clobber", :rerdoc => "rdoc:force") do |rd|
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
375 rd.main = "README"
376 rd.rdoc_dir = "doc/rdoc"
58632cb @FooBarWidget Split developer documentation to seperate file
FooBarWidget authored
377 rd.rdoc_files.include("README", "DEVELOPERS.TXT",
378 "lib/passenger/*.rb", "lib/rake/extensions.rb", "ext/passenger/*.c")
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
379 rd.template = "./doc/template/horo"
380 rd.title = "Passenger Ruby API"
382f8d5 @FooBarWidget Improve API documentation. Do not generate diagrams: it becomes too big.
FooBarWidget authored
381 rd.options << "-S" << "-N" << "-p" << "-H"
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
382 end
5fe3d4e @FooBarWidget Improve documentation and fix some spelling mistakes. Rename C++ Doxygen...
FooBarWidget authored
383
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
384
385 ##### Gem
386
387 spec = Gem::Specification.new do |s|
388 s.platform = Gem::Platform::RUBY
3ae8f88 @FooBarWidget Fix website URL in gem specification. Remove dependency on Rails and rsp...
FooBarWidget authored
389 s.homepage = "http://www.modrails.com/"
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
390 s.summary = "Apache module for Ruby on Rails support."
391 s.name = "passenger"
d6ef3dd @FooBarWidget Add X-Powered-By header to HTTP requests.
FooBarWidget authored
392 s.version = PACKAGE_VERSION
01242f4 @FooBarWidget Gem specification: specify RubyForge project, author and email.
FooBarWidget authored
393 s.rubyforge_project = "passenger"
394 s.author = "Phusion - http://www.phusion.nl/"
395 s.email = "info@phusion.nl"
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
396 s.requirements << "fastthread" << "Apache 2 with development headers"
8776b6f @FooBarWidget Gem packaging task: add 'ext' to require_path.
FooBarWidget authored
397 s.require_path = ["lib", "ext"]
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
398 s.add_dependency 'rake', '>= 0.8.1'
399 s.add_dependency 'fastthread', '>= 1.0.1'
a747263 @remi added Rack dependency to gem and installer (required for full Rack racku...
remi authored
400 s.add_dependency 'rack', '>= 0.1.0'
9d714c0 @FooBarWidget Rename 'mod_rails' directories to 'passenger'
FooBarWidget authored
401 s.extensions << 'ext/passenger/extconf.rb'
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
402 s.files = FileList[
403 'Rakefile',
b599d22 @FooBarWidget Installer: warn against OS X's default Apache installation. Prepare Pass...
FooBarWidget authored
404 'README',
58632cb @FooBarWidget Split developer documentation to seperate file
FooBarWidget authored
405 'DEVELOPERS.TXT',
79c6223 @FooBarWidget Add licensing terms.
FooBarWidget authored
406 'LICENSE',
0924ccf @FooBarWidget Add more references to Users Guide. For some reason too many people over...
FooBarWidget authored
407 'INSTALL',
0812844 @FooBarWidget Add 'sloccount' task and fix the package file list.
FooBarWidget authored
408 'lib/**/*.rb',
ecef494 @FooBarWidget Add WSGI files to distribution.
FooBarWidget authored
409 'lib/**/*.py',
7d4e07c @FooBarWidget Add templates to package
FooBarWidget authored
410 'lib/passenger/templates/*',
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
411 'bin/*',
d73f7e2 @FooBarWidget Improve documentation and documentation-related Rake tasks.
FooBarWidget authored
412 'doc/*',
b0a1a10 @FooBarWidget Bump version to 1.9.1. Fix some packaging issues.
FooBarWidget authored
413
414 # If you're running 'rake package' for the first time, then these
415 # files don't exist yet, and so won't be matched by the above glob.
416 # So we add these filenames manually.
417 'doc/Users guide.html',
418 'doc/Security of user switching support.html',
419
557fcb4 @FooBarWidget Rename the Jamis template to Horo, we modified it after all. Move it to ...
FooBarWidget authored
420 'doc/*/*',
421 'doc/*/*/*',
422 'doc/*/*/*/*',
423 'doc/*/*/*/*/*',
424 'doc/*/*/*/*/*/*',
0f1f7f8 @FooBarWidget Add manual pages to distribution.
FooBarWidget authored
425 'man/*',
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
426 'debian/*',
79c6223 @FooBarWidget Add licensing terms.
FooBarWidget authored
427 'ext/apache2/*.{cpp,h,c,TXT}',
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
428 'ext/boost/*.{hpp,TXT}',
8469c8c @FooBarWidget Package .ipp files in the boost directory.
FooBarWidget authored
429 'ext/boost/**/*.{hpp,cpp,pl,inl,ipp}',
9d714c0 @FooBarWidget Rename 'mod_rails' directories to 'passenger'
FooBarWidget authored
430 'ext/passenger/*.{c,rb}',
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
431 'benchmark/*.{cpp,rb}',
3ea518f @FooBarWidget Add a tool for rendering the error pages
FooBarWidget authored
432 'misc/*',
7cec9ba @FooBarWidget Add config.yml.example to package.
FooBarWidget authored
433 'test/*.{rb,cpp,example}',
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
434 'test/support/*',
c4d9ffa @FooBarWidget Move Ruby unit tests to subfolders.
FooBarWidget authored
435 'test/ruby/*',
436 'test/ruby/*/*',
0812844 @FooBarWidget Add 'sloccount' task and fix the package file list.
FooBarWidget authored
437 'test/stub/*',
438 'test/stub/*/*',
439 'test/stub/*/*/*',
440 'test/stub/*/*/*/*',
d3bb996 @FooBarWidget Fix support for vendor Rails. Make the vendor Rails stub app more realis...
FooBarWidget authored
441 'test/stub/*/*/*/*/*',
442 'test/stub/*/*/*/*/*/*',
443 'test/stub/*/*/*/*/*/*/*'
0812844 @FooBarWidget Add 'sloccount' task and fix the package file list.
FooBarWidget authored
444 ] - Dir['test/stub/*/log/*'] \
0439348 @FooBarWidget Fix some packaging issues
FooBarWidget authored
445 - Dir['test/stub/*/tmp/*/*'] \
446 - Dir['test/stub/apache2/*.{pid,lock,log}']
56598a6 @FooBarWidget - Move misc/memory_stats.rb into bin/ and turn it into a first-class too...
FooBarWidget authored
447 s.executables = [
448 'passenger-spawn-server',
449 'passenger-install-apache2-module',
450 'passenger-config',
bb20616 @FooBarWidget Add enterprisey aspects.
FooBarWidget authored
451 'passenger-memory-stats',
ea5e36c @FooBarWidget Add 'passenger-status' and 'passenger-stress-test' to the gem specificat...
FooBarWidget authored
452 'passenger-make-enterprisey',
453 'passenger-status',
454 'passenger-stress-test'
56598a6 @FooBarWidget - Move misc/memory_stats.rb into bin/ and turn it into a first-class too...
FooBarWidget authored
455 ]
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
456 s.has_rdoc = true
0f1f0b1 @FooBarWidget Improve documentation.
FooBarWidget authored
457 s.extra_rdoc_files = ['README']
458 s.rdoc_options <<
382f8d5 @FooBarWidget Improve API documentation. Do not generate diagrams: it becomes too big.
FooBarWidget authored
459 "-S" << "-N" << "-p" << "-H" <<
0f1f0b1 @FooBarWidget Improve documentation.
FooBarWidget authored
460 '--main' << 'README' <<
557fcb4 @FooBarWidget Rename the Jamis template to Horo, we modified it after all. Move it to ...
FooBarWidget authored
461 '--template' << './doc/template/horo' <<
0f1f0b1 @FooBarWidget Improve documentation.
FooBarWidget authored
462 '--title' << 'Passenger Ruby API'
c7cb438 @FooBarWidget Finish the Apache 2 module installer script. Rename mod_rails to mod_pas...
FooBarWidget authored
463 s.test_file = 'test/support/run_rspec_tests.rb'
4c0583f @FooBarWidget Add Rake task to generate source tarball and gem. Add executable which e...
FooBarWidget authored
464 s.description = "Passenger is an Apache module for Ruby on Rails support."
465 end
466
467 Rake::GemPackageTask.new(spec) do |pkg|
468 pkg.need_tar_gz = true
469 end
0812844 @FooBarWidget Add 'sloccount' task and fix the package file list.
FooBarWidget authored
470
7a348c4 @FooBarWidget Fix dependencies order
FooBarWidget authored
471 Rake::Task['package'].prerequisites.unshift(:doc)
472 Rake::Task['package:gem'].prerequisites.unshift(:doc)
473 Rake::Task['package:force'].prerequisites.unshift(:doc)
13896a1 @FooBarWidget Use AsciiDoc to generate pretty HTML documentation from .txt.
FooBarWidget authored
474 task :clobber => :'package:clean'
d73f7e2 @FooBarWidget Improve documentation and documentation-related Rake tasks.
FooBarWidget authored
475
0812844 @FooBarWidget Add 'sloccount' task and fix the package file list.
FooBarWidget authored
476
477 ##### Misc
478
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
479 desc "Create a fakeroot, useful for building native packages"
480 task :fakeroot => [:apache2, :native_support, :doc] do
481 require 'rbconfig'
9618fae @FooBarWidget Fix packaging process for Debian Sarge.
FooBarWidget authored
482 include Config
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
483 fakeroot = "pkg/fakeroot"
9618fae @FooBarWidget Fix packaging process for Debian Sarge.
FooBarWidget authored
484
485 # We don't use CONFIG['archdir'] and the like because we want
486 # the files to be installed to /usr, and the Ruby interpreter
487 # on the packaging machine might be in /usr/local.
488 libdir = "#{fakeroot}/usr/lib/ruby/#{CONFIG['ruby_version']}"
489 extdir = "#{libdir}/#{CONFIG['arch']}"
490 bindir = "#{fakeroot}/usr/bin"
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
491 docdir = "#{fakeroot}/usr/share/doc/passenger"
0c888b8 @FooBarWidget Move passenger-spawn-server from /usr/bin to /usr/lib/passenger.
FooBarWidget authored
492 libexecdir = "#{fakeroot}/usr/lib/passenger"
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
493
7a3a4a0 @FooBarWidget Require 'fakeroot' and 'package:debian' tasks to be run as root (without...
FooBarWidget authored
494 sh "rm -rf #{fakeroot}"
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
495 sh "mkdir -p #{fakeroot}"
496
497 sh "mkdir -p #{libdir}"
498 sh "cp -R lib/passenger #{libdir}/"
9618fae @FooBarWidget Fix packaging process for Debian Sarge.
FooBarWidget authored
499
500 sh "mkdir -p #{fakeroot}/etc"
501 sh "echo -n '#{PACKAGE_VERSION}' > #{fakeroot}/etc/passenger_version.txt"
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
502
503 sh "mkdir -p #{extdir}/passenger"
504 sh "cp -R ext/passenger/*.#{LIBEXT} #{extdir}/passenger/"
505
506 sh "mkdir -p #{bindir}"
507 sh "cp bin/* #{bindir}/"
508
9c75736 @FooBarWidget Fix some Debian packaging issues.
FooBarWidget authored
509 sh "mkdir -p #{libexecdir}"
0c888b8 @FooBarWidget Move passenger-spawn-server from /usr/bin to /usr/lib/passenger.
FooBarWidget authored
510 sh "cp ext/apache2/mod_passenger.so #{libexecdir}/"
511 sh "mv #{fakeroot}/usr/bin/passenger-spawn-server #{libexecdir}/"
9c75736 @FooBarWidget Fix some Debian packaging issues.
FooBarWidget authored
512 sh "cp ext/apache2/ApplicationPoolServerExecutable #{libexecdir}/"
513
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
514 sh "mkdir -p #{docdir}"
515 sh "cp -R doc/* #{docdir}/"
0c888b8 @FooBarWidget Move passenger-spawn-server from /usr/bin to /usr/lib/passenger.
FooBarWidget authored
516 sh "rm", "-rf", *Dir["#{docdir}/{definitions.h,Doxyfile,template}"]
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
517 end
518
519 desc "Create a Debian package"
520 task 'package:debian' => :fakeroot do
7a3a4a0 @FooBarWidget Require 'fakeroot' and 'package:debian' tasks to be run as root (without...
FooBarWidget authored
521 if Process.euid != 0
522 STDERR.puts
523 STDERR.puts "*** ERROR: the 'package:debian' task must be run as root."
524 STDERR.puts
525 exit 1
526 end
527
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
528 fakeroot = "pkg/fakeroot"
529 arch = `uname -m`.strip
530 if arch =~ /^i.86$/
531 arch = "i386"
532 end
533
534 sh "sed -i 's/Version: .*/Version: #{PACKAGE_VERSION}/' debian/control"
535 sh "cp -R debian #{fakeroot}/DEBIAN"
536 sh "sed -i 's/: any/: #{arch}/' #{fakeroot}/DEBIAN/control"
7a3a4a0 @FooBarWidget Require 'fakeroot' and 'package:debian' tasks to be run as root (without...
FooBarWidget authored
537 sh "chown -R root:root #{fakeroot}"
538 sh "dpkg -b #{fakeroot} pkg/passenger_#{PACKAGE_VERSION}-#{arch}.deb"
f51378b @FooBarWidget Add support for native Linux packages. Add Rake task for building a Debi...
FooBarWidget authored
539 end
540
541
542 ##### Misc
543
0812844 @FooBarWidget Add 'sloccount' task and fix the package file list.
FooBarWidget authored
544 desc "Run 'sloccount' to see how much code Passenger has"
545 task :sloccount do
546 ENV['LC_ALL'] = 'C'
ff9a5b1 @FooBarWidget Correctly sloccount Ruby scripts in bin/
FooBarWidget authored
547 begin
548 # sloccount doesn't recognize the scripts in
549 # bin/ as Ruby, so we make symlinks with proper
550 # extensions.
551 tmpdir = ".sloccount"
552 system "rm -rf #{tmpdir}"
553 mkdir tmpdir
554 Dir['bin/*'].each do |file|
555 safe_ln file, "#{tmpdir}/#{File.basename(file)}.rb"
556 end
557 sh "sloccount", *Dir[
558 "#{tmpdir}/*",
9d714c0 @FooBarWidget Rename 'mod_rails' directories to 'passenger'
FooBarWidget authored
559 "lib/passenger/*",
ff9a5b1 @FooBarWidget Correctly sloccount Ruby scripts in bin/
FooBarWidget authored
560 "lib/rake/{cplusplus,extensions}.rb",
561 "ext/apache2",
9d714c0 @FooBarWidget Rename 'mod_rails' directories to 'passenger'
FooBarWidget authored
562 "ext/passenger/*.c",
ff9a5b1 @FooBarWidget Correctly sloccount Ruby scripts in bin/
FooBarWidget authored
563 "test/*.{cpp,rb}",
564 "test/support/*.rb",
565 "test/stub/*.rb",
566 "benchmark/*.{cpp,rb}"
567 ]
568 ensure
569 system "rm -rf #{tmpdir}"
570 end
0812844 @FooBarWidget Add 'sloccount' task and fix the package file list.
FooBarWidget authored
571 end
572
Something went wrong with that request. Please try again.