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.
Summary: | Rails projects do not deploy to v3 Prelude | ||
---|---|---|---|
Product: | ruby | Reporter: | Vince Kraemer <vkraemer> |
Component: | Rails | Assignee: | 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
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. I'll change the rails project wizard to use GF Gem by default and also make the gem downloadable directly from the wizard. 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? 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 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? 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. Verified by QE in: ruby-2614-on-090421 . Peter: I assume this means we need to test/fix debug support and the like? Please double check this soon. 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. Just an FYI - I'm looking into status of gem, debugging, etc. I transplanted the fixes to the beta clone: http://hg.netbeans.org/release67_beta/rev/76b87a4f85c5 http://hg.netbeans.org/release67_beta/rev/4c9504852fb0 Verified in Nb 6.7 Beta (Build 200904230001) by QE. |