Sorry for the long email. :-(
rails-integration is looking great! But still a couple of kinks here
and there. :-)
This is an account of me trying to get my app running as a war file
with the 'war-snapshot' plugin provided by rails-integration. I run
into a number of problems that I think need to be solved before rails-
integration is ready for prime time.
First of all the "Adding web application" step is *extremely* slow on
my machine (MacBook Pro). It takes about 20 mins to execute...
(Regardless if this is the first or second time I do it.) We do have
quite a large number of files in our project as all our gems are
installed into the project and we have rails installed into vendor/
rails with svn:externals:
$ find . | wc -l
89428
When I finally get the the server running and access it through the
browser I get the following error:
2007-04-12 13:30:20.964:/ice:INFO: Failed to load Rails: undefined
method `alias_method_chain' for Test::Unit::Error:Class
tmp/war/vendor/rails/activesupport/lib/active_support/
deprecation.rb:198:in `method_missing'
tmp/war/vendor/rails/activesupport/lib/active_support/
deprecation.rb:198
/tmp/jruby-rails-3215.tmp/lib/ruby/site_ruby/1.8/rubygems/
custom_require.rb:27
I think this is related to the fact that there is both a Rails gem
and vendor/rails in the same war. We would very much like to keep
using vendor/rails (it's very convenient as we can centrally upgrade
Rails across quite a large team and a number of deployments). Maybe
the plugin can auto-detect vendor/rails and not push in the rails gem
if it's there?
If I remove vendor/rails I get a bit further but run into the
following error instead:
2007-04-12 15:13:19.392:/ice:INFO: Failed to load Rails: IO error --
acts_as_versioned
/tmp/jruby-rails-9438.tmp/lib/ruby/site_ruby/1.8/rubygems/
custom_require.rb:27:in `require'
/tmp/jruby-rails-9438.tmp/lib/ruby/site_ruby/1.8/rubygems/
custom_require.rb:27:in `require'
/Users/tirsen/Studios/ice/tmp/war/config/environment.rb:76
<script>:0
acts_as_versioned is a file in the acts_as_versioned plugin which is
actually there if I take a look:
$ ls tmp/war/vendor/plugins/acts_as_versioned/lib/
acts_as_versioned.rb.ast.ser
It seems this is related to the "compile_ruby true" and "keep_source
false" settings.
If I remove those settings I get a bit further, but stop on this error:
2007-04-12 16:16:42.089:/ice:INFO: Failed to load Rails: no such
file to load -- /Users/tirsen/Studios/ice/tmp/war/config/../vendor/
plugins/javascript_test/lib/javascript_test
file:/Users/tirsen/Studios/ice/tmp/war/WEB-INF/lib/jruby-
complete-0.9.9-SNAPSHOT.jar!/META-INF/jruby.home/lib/ruby/site_ruby/
1.8/rubygems/custom_require.rb:27:in `require'
file:/Users/tirsen/Studios/ice/tmp/war/WEB-INF/lib/jruby-
complete-0.9.9-SNAPSHOT.jar!/META-INF/jruby.home/lib/ruby/site_ruby/
1.8/rubygems/custom_require.rb:27:in `require'
Looking into that directory confirms in tmp/war it is indeed empty,
although it does exist in my normal source tree. For some reason it
has not been copied. I don't actually need that plugin at runtime so
I just delete it and try again. (It would be nice to specify a couple
of patterns of stuff that should/should not be included into the war.
Kinda like Ant fileset style "excludes".)
Ok, now after fiddling around with config/jetty.xml and setting up a
JNDI datasource (nice recent addition!) I actually get it up and
running.
I get the log in page, manage to log in...
And boom! An actual Rails error page saying (I've verified that this
does not happen in Webrick with script/server where the app runs just
fine):
can't convert Regexp into #<Class:01xbab7b2>
file:/Users/tirsen/Studios/ice/tmp/war/WEB-INF/lib/jruby-
complete-0.9.9-SNAPSHOT.jar!/cgi.rb:344:in `gsub'
file:/Users/tirsen/Studios/ice/tmp/war/WEB-INF/lib/jruby-
complete-0.9.9-SNAPSHOT.jar!/cgi.rb:344:in `escape'
generated code (/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/
actionpack-1.13.3/lib/action_controller/routing.rb:339):15:in
`generate_raw'
generated code (/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/
actionpack-1.13.3/lib/action_controller/routing.rb:348):2:in `generate'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_controller/routing.rb:1261:in `send'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_controller/routing.rb:1261:in `generate'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_controller/url_rewriter.rb:104:in `each'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_controller/routing.rb:1263:in `generate'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_controller/url_rewriter.rb:104:in `rewrite_path'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_controller/url_rewriter.rb:69:in `rewrite'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_controller/base.rb:522:in `url_for'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_view/helpers/url_helper.rb:27:in `send'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_view/helpers/url_helper.rb:27:in `url_for'
/Users/tirsen/Studios/ice/tmp/war/WEB-INF/gems/gems/actionpack-1.13.3/
lib/action_view/helpers/url_helper.rb:75:in `link_to'
#{RAILS_ROOT}/app/views/layouts/application.rhtml:64:in
`_run_rhtml_47app47views47layouts47application46rhtml'
... snip ...
I'm a bit stuffed about this error so I give up for today. At least I
got all the way to the login page which is great!
Keep up all the good work and looking forward to any help you may be
able to give!
Cheers,
Jon
----
New from ThoughtWorks: Mingle, an Agile project management application.
Mingle. Project Intelligence. Powerfully Simple.
More at http://studios.thoughtworks.com
_______________________________________________
Jruby-extras-devel mailing list
[EMAIL PROTECTED]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel