Skip to content

java port #15

Closed
Closed

Description

@marcandre

Could we bundle the java port?

I had issues using a newer version of strscan in a way that is compatible with JRuby

Activity

  1. headius commented on Sep 29, 2020

    @headius
    Contributor

    Thank you for opening this, @marcandre 👍

    Simplest option would be a no-op when installing on RUBY_ENGINE != "ruby".

    Other options of varying effort:

    • Migrate the JRuby extension here and release a -java gem that uses it. This would become the new home for those sources.
    • Introduce the pure-Ruby version as a fallback for all platforms when the extension cannot be built or the platform has opted out of C extensions.

    The primary issue here, as with all the stdlib gems, is when they are a transitive dependency. As in the case of jruby/jruby#6144, if a library is released with a dependency on a newer version of this gem, and the gem cannot install on JRuby, then the original library also cannot install on JRuby. We need to avoid that for every stdlib gem that JRuby can possibly support.

    FWIW, the bulk of the code for JRuby's strscan lives here:

    https://github.com/jruby/jruby/blob/master/core/src/main/java/org/jruby/ext/strscan/RubyStringScanner.java

    The parent directory has the rest of the extensions we ship as builtin libraries, all of which are likely candidates for moving to gems.

  2. kou commented on Sep 30, 2020

    @kou
    Member

    OK. Let's work on "Migrate the JRuby extension here and release a -java gem that uses it. This would become the new home for those sources".

  3. headius commented on Sep 30, 2020

    @headius
    Contributor

    Ok, I am looking into this today and we will discuss the implications on our matrix chat at https://matrix.to/#/#jruby:matrix.org

  4. linked a pull request that will close this issueImport JRuby's strscan #25on Sep 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions