You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by "Rhett Sutphin (JIRA)" <ji...@apache.org> on 2009/02/17 20:30:59 UTC

[jira] Created: (BUILDR-254) Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies

Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies
-----------------------------------------------------------------------------------------

                 Key: BUILDR-254
                 URL: https://issues.apache.org/jira/browse/BUILDR-254
             Project: Buildr
          Issue Type: Bug
          Components: JRuby, Test frameworks
    Affects Versions: 1.3.4
         Environment: buildr trunk @745153
OS X standard ruby 1.8.6 (to run buildr)
JRuby 1.1.3 (as installed automatically by buildr)

            Reporter: Rhett Sutphin


1.3.4 updates the rspec dependency to rspec-1.1.12.  Unfortunately, under the version of rubygems included with the default version of jruby (1.1.3), "gem install rspec" does not pull in all its runtime dependencies.  

See the comments on BUILDR-252 for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-254) Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies

Posted by "Rhett Sutphin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674436#action_12674436 ] 

Rhett Sutphin commented on BUILDR-254:
--------------------------------------

In order to address both this issue and BUILDR-252 on buildr 1.3.3, I wrote the below monkey patch.  It's probably not a good general solution -- it would be better not to introduce the dependency on facets/dictionary into buildr itself and it would be nicer if buildr allowed for the rspec version to be configured like the jruby version (among other things).  As a monkey patch, though, it has the benefit of being minimally intrusive and functional.

It illustrates one problem with the explicit deps solution in the last comment -- the unordered nature of ruby hashes happens to put rspec first when the gems hash is iterated over (i.e., before hoe and cucumber) -- so the hash needs to be replaced with something ordered.

require 'facets/dictionary'
require 'buildr/java/bdd'

class Buildr::RSpec < TestFramework::JavaBDD
  def runner_config
    runner = super
    # use facets' Dictionary to preserve insertion order so that the deps
    # get installed first
    runner.gems = Dictionary.new.merge runner.gems
    
    # explicitly include rspec deps for auto-install
    runner.gems.update 'hoe' => '>0'
    runner.gems.update 'cucumber' => '>=0.1.13'

    runner.gems.update 'rspec' => '=1.1.12'
    runner.requires.unshift 'spec'
    runner
  end
end

> Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies
> -----------------------------------------------------------------------------------------
>
>                 Key: BUILDR-254
>                 URL: https://issues.apache.org/jira/browse/BUILDR-254
>             Project: Buildr
>          Issue Type: Bug
>          Components: JRuby, Test frameworks
>    Affects Versions: 1.3.4
>         Environment: buildr trunk @745153
> OS X standard ruby 1.8.6 (to run buildr)
> JRuby 1.1.3 (as installed automatically by buildr)
>            Reporter: Rhett Sutphin
>
> 1.3.4 updates the rspec dependency to rspec-1.1.12.  Unfortunately, under the version of rubygems included with the default version of jruby (1.1.3), "gem install rspec" does not pull in all its runtime dependencies.  
> See the comments on BUILDR-252 for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (BUILDR-254) Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies

Posted by "Alex Boisvert (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BUILDR-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Boisvert updated BUILDR-254:
---------------------------------

    Fix Version/s:     (was: 1.3.4)
                   1.4

> Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies
> -----------------------------------------------------------------------------------------
>
>                 Key: BUILDR-254
>                 URL: https://issues.apache.org/jira/browse/BUILDR-254
>             Project: Buildr
>          Issue Type: Bug
>          Components: JRuby, Test frameworks
>    Affects Versions: 1.3.4
>         Environment: buildr trunk @745153
> OS X standard ruby 1.8.6 (to run buildr)
> JRuby 1.1.3 (as installed automatically by buildr)
>            Reporter: Rhett Sutphin
>            Assignee: Victor Hugo Borja
>             Fix For: 1.4
>
>
> 1.3.4 updates the rspec dependency to rspec-1.1.12.  Unfortunately, under the version of rubygems included with the default version of jruby (1.1.3), "gem install rspec" does not pull in all its runtime dependencies.  
> See the comments on BUILDR-252 for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-254) Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies

Posted by "Assaf Arkin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12681583#action_12681583 ] 

Assaf Arkin commented on BUILDR-254:
------------------------------------

Updating to JRuby 1.1.6, which comes with RubyGems 1.3.1

> Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies
> -----------------------------------------------------------------------------------------
>
>                 Key: BUILDR-254
>                 URL: https://issues.apache.org/jira/browse/BUILDR-254
>             Project: Buildr
>          Issue Type: Bug
>          Components: JRuby, Test frameworks
>    Affects Versions: 1.3.4
>         Environment: buildr trunk @745153
> OS X standard ruby 1.8.6 (to run buildr)
> JRuby 1.1.3 (as installed automatically by buildr)
>            Reporter: Rhett Sutphin
>             Fix For: 1.3.4
>
>
> 1.3.4 updates the rspec dependency to rspec-1.1.12.  Unfortunately, under the version of rubygems included with the default version of jruby (1.1.3), "gem install rspec" does not pull in all its runtime dependencies.  
> See the comments on BUILDR-252 for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-254) Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies

Posted by "Rhett Sutphin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674363#action_12674363 ] 

Rhett Sutphin commented on BUILDR-254:
--------------------------------------

Actually, switching to JRuby 1.1.4 doesn't work -- rspec 1.1.12 still has the same disconnect between runtime and install-time dependencies under JRuby 1.1.4.

Another way to fix it might be to modify the rspec test framework to explicitly depend on cucumber and hoe in addition to rspec 1.1.12.  This would ensure that all the necessary gems could be automatically installed.

> Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies
> -----------------------------------------------------------------------------------------
>
>                 Key: BUILDR-254
>                 URL: https://issues.apache.org/jira/browse/BUILDR-254
>             Project: Buildr
>          Issue Type: Bug
>          Components: JRuby, Test frameworks
>    Affects Versions: 1.3.4
>         Environment: buildr trunk @745153
> OS X standard ruby 1.8.6 (to run buildr)
> JRuby 1.1.3 (as installed automatically by buildr)
>            Reporter: Rhett Sutphin
>
> 1.3.4 updates the rspec dependency to rspec-1.1.12.  Unfortunately, under the version of rubygems included with the default version of jruby (1.1.3), "gem install rspec" does not pull in all its runtime dependencies.  
> See the comments on BUILDR-252 for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (BUILDR-254) Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies

Posted by "Rhett Sutphin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BUILDR-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rhett Sutphin resolved BUILDR-254.
----------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 1.4)
                   1.3.5

This problem no longer occurs in buildr 1.3.5.

> Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies
> -----------------------------------------------------------------------------------------
>
>                 Key: BUILDR-254
>                 URL: https://issues.apache.org/jira/browse/BUILDR-254
>             Project: Buildr
>          Issue Type: Bug
>          Components: JRuby, Test frameworks
>    Affects Versions: 1.3.4
>         Environment: buildr trunk @745153
> OS X standard ruby 1.8.6 (to run buildr)
> JRuby 1.1.3 (as installed automatically by buildr)
>            Reporter: Rhett Sutphin
>            Assignee: Victor Hugo Borja
>             Fix For: 1.3.5
>
>
> 1.3.4 updates the rspec dependency to rspec-1.1.12.  Unfortunately, under the version of rubygems included with the default version of jruby (1.1.3), "gem install rspec" does not pull in all its runtime dependencies.  
> See the comments on BUILDR-252 for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (BUILDR-254) Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies

Posted by "Rhett Sutphin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/BUILDR-254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674344#action_12674344 ] 

Rhett Sutphin commented on BUILDR-254:
--------------------------------------

One possible solution for this would be to update the default JRuby to 1.1.4.  It includes rubygems 1.2.0 and so should avoid the install vs. runtime dependency issue in rspec 1.1.12.

However, JRuby 1.1.4 includes rspec 1.1.4.  The rspec test framework currently only requires _some version_ of rspec, so it will use that one and we'll have BUILDR-252 again.  The rspec framework could be updated to depend on a particular version of rspec, just like the jruby infrastructure does.

> Automatically installing rspec-1.1.12 under JRuby 1.1.3 does not install all dependencies
> -----------------------------------------------------------------------------------------
>
>                 Key: BUILDR-254
>                 URL: https://issues.apache.org/jira/browse/BUILDR-254
>             Project: Buildr
>          Issue Type: Bug
>          Components: JRuby, Test frameworks
>    Affects Versions: 1.3.4
>         Environment: buildr trunk @745153
> OS X standard ruby 1.8.6 (to run buildr)
> JRuby 1.1.3 (as installed automatically by buildr)
>            Reporter: Rhett Sutphin
>
> 1.3.4 updates the rspec dependency to rspec-1.1.12.  Unfortunately, under the version of rubygems included with the default version of jruby (1.1.3), "gem install rspec" does not pull in all its runtime dependencies.  
> See the comments on BUILDR-252 for more information.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.