Yet another engines not working with edge


#1

Hello,
Recently something changed with edge, such that engines are no longer
working with edge rails, in spite of the line

Engines.config :edge, true

in the environment.rb

Also, on cursory analysis this stack trace seems different from earlier
stack
traces.

Thanks.

c:/ruby/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake.rb:1748:in
const_missing': s tack level too deep (SystemStackError) from ./script/../config/../vendor/plugins/engines/lib/engines/dependenci es_extensions.rb:10:inrequire_or_load’
from
./script/…/config/…/vendor/rails/activesupport/lib/active_support
/dependencies.rb:30:in depend_on' from ./script/../config/../vendor/rails/activesupport/lib/active_support /dependencies.rb:74:inrequire_dependency’
from
./script/…/config/…/vendor/rails/activesupport/lib/active_support
/dependencies.rb:104:in rake_original_const_missing' from c:/ruby/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake.rb:1761:incons
t_missing’
from
./script/…/config/…/vendor/plugins/engines/lib/engines/dependenci
es_extensions.rb:10:in require_or_load' from ./script/../config/../vendor/rails/activesupport/lib/active_support /dependencies.rb:30:independ_on’
from
./script/…/config/…/vendor/rails/activesupport/lib/active_support
/dependencies.rb:74:in require_dependency' ... 621 levels... from ./script/../config/../vendor/rails/activesupport/lib/active_support /dependencies.rb:149:inrequire’
from
./script/…/config/…/vendor/rails/railties/lib/commands/server.rb:
34
from
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire’
from script/server:3


Surendra S.
http://ssinghi.kreeti.com, http://www.kreeti.com
Read my blog at: http://cuttingtheredtape.blogspot.com/
,----
| “All animals are equal, but some animals are more equal than others.”
| – Orwell, Animal Farm, 1945
`----


#2

I’ve recently commited a new version of trunk that works with the
current edge:

http://dev.rails-engines.org/repository/changesets/305

Please try that and let us know how you fare.

  • james

On 3/20/06, Surendra S. removed_email_address@domain.invalid wrote:

    from ./script/../config/../vendor/rails/activesupport/lib/active_support
    from ./script/../config/../vendor/rails/activesupport/lib/active_support

Read my blog at: http://cuttingtheredtape.blogspot.com/

  • J *
    ~

#3

Hello James,

“James A.” removed_email_address@domain.invalid writes:

I’ve recently commited a new version of trunk that works with the current edge:

http://dev.rails-engines.org/repository/changesets/305

Please try that and let us know how you fare.

I am on rails revision 4006 and engines revision 309.
The backtrace is different this time:

./script/…/config/…/vendor/rails/activesupport/lib/active_support/dependencies
.rb:125:in rake_original_const_missing': uninitialized constant LoadingModule (NameError) from c:/ruby/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake.rb:1761:inconst_missing’
from
./script/…/config/…/vendor/plugins/engines/lib/engines/dependencies_extensions.rb:104
from
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
require' from ./script/../config/../vendor/rails/activesupport/lib/active_support/dependencies.rb:149:inrequire’
from
./script/…/config/…/vendor/plugins/engines/lib/engines.rb:384
from
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
require' from ./script/../config/../vendor/rails/activesupport/lib/active_support/dependencies.rb:149:inrequire’
from ./script/…/config/…/vendor/plugins/engines/init.rb:32:in
load_plugin' ... 12 levels... from ./script/../config/../vendor/rails/activesupport/lib/active_support/dependencies.rb:149:inrequire’
from
./script/…/config/…/vendor/rails/railties/lib/commands/server.rb:34
from
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require’
from script/server:3

Thanks.

Surendra S.
http://ssinghi.kreeti.com, http://www.kreeti.com
Read my blog at: http://cuttingtheredtape.blogspot.com/
,----
| “All animals are equal, but some animals are more equal than others.”
| – Orwell, Animal Farm, 1945
`----


#4

I was wrestling with this last night and I think I found a solution.
Apparently one of the recent edge rail changes moves the Rails::VERSION
constant somewhere else. There are a couple of checks that look like
this in the code…

if Rails::VERSION::STRING = “1.0.0” && !Engine.config(:edge)

The problem is that the first part of that if statement doesn’t exist in
edge anymore so it fails. If you swap the if statement so that it
checks for :edge being set in the config first, then it never looks for
Rails::VERSION in edge rails and everything works fine.

I’ll see if I can’t whip up a patch for it.

_Kevin


#5

I think I might’ve made a patch that resolves that last night - see
http://dev.rails-engines.org/repository/changesets/305 - however,
checking for :edge first might also been a good idea.

  • james

On 21 Mar 2006 16:12:35 -0000, Kevin O.
removed_email_address@domain.invalid wrote:

Rails::VERSION in edge rails and everything works fine.

“James A.” removed_email_address@domain.invalid writes:
./script/…/config/…/vendor/rails/activesupport/lib/
active_support/dependencies.rb:149:in require' active_support/dependencies.rb:149:inrequire’
http://ssinghi.kreeti.com, http://www.kreeti.com
no longer

Thanks.
from ./script/…/config/…/vendor/rails/activesupport/
es_extensions.rb:10:in `require_or_load’
from ./script/…/config/…/vendor/rails/railties/lib/
Read my blog at: http://cuttingtheredtape.blogspot.com/
http://lists.rails-engines.org/listinfo.cgi/
removed_email_address@domain.invalid
removed_email_address@domain.invalid
removed_email_address@domain.invalid
http://lists.rails-engines.org/listinfo.cgi/engine-users-rails-engines.org

  • J *
    ~

#6

Can you add this line to the top of your environment.rb file (at some
point BEFORE the initializer):

module Engines; CONFIG={:edge => true}; end

The method for ‘activating’ edge engines behaviour changed a while
back, this should be reflected in the README.

  • james

On 3/21/06, Surendra S. removed_email_address@domain.invalid wrote:

The backtrace is different this time:
from ./script/…/config/…/vendor/plugins/engines/init.rb:32:in `load_plugin’
http://ssinghi.kreeti.com, http://www.kreeti.com

working with edge rails, in spite of the line
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake.rb:1748:in `const_missing’: s
t_missing’
34
| – Orwell, Animal Farm, 1945

  • J *
    ~

engine-users mailing list
removed_email_address@domain.invalid
http://lists.rails-engines.org/listinfo.cgi/engine-users-rails-engines.org

  • J *
    ~

#7

Perhaps I missed it, but I was working on this pretty late last night.
In anycase, I submitted a ticket and patch for it.

_Kevin


#8

“James A.” removed_email_address@domain.invalid writes:

Can you add this line to the top of your environment.rb file (at some
point BEFORE the initializer):

module Engines; CONFIG={:edge => true}; end

Yes, indeed this works.

Thanks.

The method for ‘activating’ edge engines behaviour changed a while
back, this should be reflected in the README.


Surendra S.
http://ssinghi.kreeti.com, http://www.kreeti.com
Read my blog at: http://cuttingtheredtape.blogspot.com/
,----
| Great wits are sure to madness near allied,
| And thin partitions do their bounds divide.
|
| (John Dryden, Absalom and Achitophel, 1681)
`----