Skip to content

Build, test failures when build directory contains special characters #7983

@jcharaoui

Description

@jcharaoui

On Debian, the build directory names often contain the package name with the version number appended. That version number may contain a + character, which has special meaning in a regular expression or URI.

When building JRuby in a directory whose tree contains a plus sign (+), bad things happen:

  • The rubygem bin stubs are not copied in the right directory:
--- gem racc-1.6.0 ---                                                                                    
copy gem content to /jruby+ds/lib/ruby/stdlib                                                             
 copying: /jruby+ds/lib/target/rubygems/gems/racc-1.6.0-java/lib/racc to /jruby+ds/lib/ruby/stdlib        
 copying: /jruby+ds/lib/target/rubygems/gems/racc-1.6.0-java/lib/racc.rb to /jruby+ds/lib/ruby/stdlib                                                                                                                
copy executable /jruby+ds/lib/target/rubygems/bin/racc to /jruby+ds/bin                                                                                                                                              
copy racc to /jruby+ds/lib/ruby/gems/shared/gems/jruby+ds/lib/target/rubygems/gems/racc-1.6.0-java/bin/racc                                                                                                          
copy to specifications/default: racc-1.6.0-java.gemspec

This can be fixed in lib/pom.rb by replacing source.sub( /#{gems}/, '') with source.sub( gems, '')

  • JarResourceTest#testCreateJarResourceWithSpaceCharInPath fails

This can be worked around by replacing + with %2b in the resource path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions