copy of jdbc_databases.rake into lib/tasks causes "undefined method `last' for
{}:Hash" error on subseqent use of rake
----------------------------------------------------------------------------------------------------------------------
Key: JRUBY-1860
URL: http://jira.codehaus.org/browse/JRUBY-1860
Project: JRuby
Issue Type: Bug
Components: ActiveRecord-JDBC
Affects Versions: JRuby 1.1
Environment: MacOS 10.4.11, Java 1.5.0_13, JRuby trunk r5456, Rails
2.02, activerecord-jdbc-adapter (0.7), activerecord-jdbcderby-adapter (0.7),
activerecord-jdbcmysql-adapter (0.7), rake (0.8.1)
Reporter: Stephen Bannasch
After I create a simple test rails app using JRuby trunk (r5456) and Rails 2.02
and successfully run a rake migration once I can no longer run any rake task
without getting this error:
{code}
$ rake -T
(in /Users/stephen/dev/jruby_trunk/jruby/rails/jtest)
rake aborted!
undefined method `last' for {}:Hash
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/rakefile:10:in `require'
(See full trace by running task with --trace)
{code}
If I delete lib/tasks/jdbc_databases.rake then rake works again:
{code}
$ ls -l lib/tasks/jdbc_databases.rake
-rw-r--r-- 1 stephen stephen 2460 Jan 2 02:20 lib/tasks/jdbc_databases.rake
$ rm -f lib/tasks/jdbc_databases.rake
$ rake -T
(in /Users/stephen/dev/jruby_trunk/jruby/rails/jtest)
rake db:abort_if_pending_migrations # Raises an error if there are pending...
rake db:charset # Retrieves the charset for the curren...
...
{code}
When I start the test rails app with script/server jdbc_databases.rake is once
again copied over to lib/tasks and the app runs correctly -- but in order to
run any further rake tasks I have to once again delete
lib/tasks/jdbc_databases.rake.
Here's a more complete stacktrace of the error:
{code}
$ rake -T --trace
(in /Users/stephen/dev/jruby_trunk/jruby/rails/jtest)
rake aborted!
undefined method `last' for {}:Hash
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1653:in
`resolve_args'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:6:in
`redefine_task'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:21:in
`redefine_task'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:28:in
`redefine_task'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:33:in
`redefine_task'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:33:in
`in_namespace'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:821:in
`namespace'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:32:in
`namespace'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/lib/tasks/jdbc_databases.rake:32:in
`load'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/tasks/rails.rb:7:in
`load'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/tasks/rails.rb:7:in
`each'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/tasks/rails.rb:7:in
`each'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/tasks/rails.rb:7:in
`require'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
/Users/stephen/dev/jruby_trunk/jruby/rails/jtest/rakefile:10:in `require'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:2149:in
`load'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:2149:in
`raw_load_rakefile'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1897:in
`load_rakefile'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1896:in
`standard_exception_handling'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1896:in
`load_rakefile'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1896:in
`run'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in
`standard_exception_handling'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in
`run'
/Users/stephen/dev/jruby_trunk/jruby/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in
`run'
/Users/stephen/dev/jruby_trunk/jruby/bin/rake:19:in `load'
/Users/stephen/dev/jruby_trunk/jruby/bin/rake:19:in `load'
{code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email