This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 162970

Summary: Rails projects do not deploy to v3 Prelude
Product: ruby Reporter: Vince Kraemer <vkraemer>
Component: RailsAssignee: Erno Mononen <emononen>
Status: VERIFIED FIXED    
Severity: blocker CC: mmirilovic, mschovanek, pcw, pjiricka
Priority: P1    
Version: 6.x   
Hardware: All   
OS: All   
Issue Type: DEFECT Exception Reporter:

Description Vince Kraemer 2009-04-17 17:38:46 UTC
After the upgrade to Rails 2.3.2, Rails projects are not detected as known module types by v3 Prelude.

Apparently the sniffer depends on file layout and the like... when Rails changed the way their projects are laid out,
the sniffer is unable to detect that a Rails project is a Rails project...

This is tracked by the server team as https://glassfish.dev.java.net/issues/show_bug.cgi?id=7384
Comment 1 Vince Kraemer 2009-04-17 18:22:43 UTC
Here is some data from Vivek about the state of v3 Prelude and Rails 2.3.2

Well, a quick run tells that there are other issues as well. Past RailsSniffer, during request processing,
RailsGrizzlyAdapter in v3 tries to work thru ActionController::AbstractRequest to wire HTTP request/respnse streams it
gets from Grizzly. This class is removed in Rails 2.3.2, now it is called ActionController::Request  :-(

-------------------
SEVERE: uninitialized constant ActionController::AbstractRequest
/tools/jruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:440:in
`load_missing_constant': uninitialized constant ActionController::AbstractRequest (NameError)
   from /tools/jruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:80:in
`const_missing_with_dependencies'
   from <script>:59:in `service'
   from :1
   ...internal jruby stack elided...
   from
ActiveSupport::Dependencies.load_missing_constant(/tools/jruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:80)
   from ActiveSupport::Dependencies::ModuleConstMissing.const_missing_with_dependencies(<script>:59)
------------

-vivek.


Vivek Pandey wrote:
> vince kraemer wrote:
>> Vivek Pandey wrote:
>>>
>>> vince kraemer wrote:
>>> [snip]
>>>>
>>>> I am still very interested in finding out what prevents v3 Prelude from recognizing/running apps created with Rails
2.3.2...
>>>> I would hate to think that we are going to re-write a major portion of the GF v3 integration plugin because of the
failure of a single if statement in v3 Prelude's Ruby/Rails support...
>>>>
>>> Rails support in v3 is enabled by 3 small jars. This particular error is due to a bug in the RailsSniffer, where it
tries to detect if the app is a Rails app by looking for certain artifacts and reports to v3 deployer that it can not
handle.
>>>
>>> Prior to Rails 2.3.2, there would be a base class app/controller/application.rb. With version 2.3.2, this base class
is renamed to application_controller.rb. RailsSniffer tries to look for app/controller/application.rb and it does not
find it so it fails. Post prelude these auto-detection is made much robust.
>>
>> Ah!  I figured as much.  It fit the design pattern that triggered problems for v3 Prelude and JRuby 1.2.0 earlier.
>>
>> Do you think/know of other issues that may appear once we get past this RailsSniffer issue?
>>
>> It sounds like we may be able to get past this without a patch... if the plugin 'nudges' the rails app with the
necessary data to fool the sniffer...  This should be pretty easy to implement... since NB 6.7 is in-flight at the moment.
>>
>> This assumes that there are no 'deeper issues' associated Rails 2.3.2 and GF v3 Prelude and JRuby 1.2.0...
>>
> I think that would be pretty much it. I will not be able to do much work on this today (last day of my vacation):)
>
> I can try it out on monday and send an update.
Comment 2 Erno Mononen 2009-04-20 09:39:15 UTC
I'll change the rails project wizard to use GF Gem by default and also make the gem downloadable directly from the 
wizard.
Comment 3 Erno Mononen 2009-04-20 13:44:41 UTC
Fixed in 5559c9bac1bf (ruby-main). Of course, the issue with Prelude / 2.3.2 remains, but as discussed I solved this by 
making GF Gem to be the default server instead of Prelude.

The gem is not bundled with the IDE but the wizard will install if needed. There are some further tweaks we can do 
after beta, such as having a GF Gem option also in Project Properties even when not installed. There is also an issue 
with the GF Gem plugin that causes the browser to be launched before the app is ready when running the app for the 
first time, but that is a separate issue.

I'd like to transplant the fix to the beta clone too - Martin, can you please verify?
Comment 4 Quality Engineering 2009-04-21 08:15:51 UTC
Integrated into 'main-golden', will be available in build *200904210201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/5559c9bac1bf
User: Erno Mononen <emononen@netbeans.org>
Log: #162970: Rails projects do not deploy to v3 Prelude
- made GF Gem the default choice
- made the wizard will offer gf gem even if it is not installed
Comment 5 Martin Schovanek 2009-04-21 10:55:39 UTC
This fix does not works well for jdk 1.5.0 because the GF Gem server reguires jdk 6, can you please offer WEBrick as
default server on jdk1.5.0 platform?
Comment 6 Erno Mononen 2009-04-21 13:47:59 UTC
I added a check for JDK 6 in the wizard (when using GF Gem): 

http://hg.netbeans.org/ruby-main/rev/2c8a4592ba55

GF Gem is still the default server.
Comment 7 Martin Schovanek 2009-04-21 17:37:28 UTC
Verified by QE in: ruby-2614-on-090421 .
Comment 8 Vince Kraemer 2009-04-21 17:42:00 UTC
Peter: I assume this means we need to test/fix debug support and the like?  Please double check this soon.
Comment 9 Erno Mononen 2009-04-21 18:58:11 UTC
Note that this solution is mainly for 6.7 Beta, it is still unclear whether GF Gem will be the default server for FCS. 
That is to say that IMO debugging support for GF Gem is not a stopper for Beta.
Comment 10 _ pcw 2009-04-21 21:01:45 UTC
Just an FYI - I'm looking into status of gem, debugging, etc.
Comment 11 Erno Mononen 2009-04-22 08:54:29 UTC
I transplanted the fixes to the beta clone:
http://hg.netbeans.org/release67_beta/rev/76b87a4f85c5
http://hg.netbeans.org/release67_beta/rev/4c9504852fb0
Comment 12 Martin Schovanek 2009-04-23 10:20:38 UTC
Verified in Nb 6.7 Beta (Build 200904230001) by QE.