Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jruby-complete osgi bundle does not export com.jcraft.jzlib.* #3681

Open
mkristian opened this issue Feb 18, 2016 · 8 comments
Open

jruby-complete osgi bundle does not export com.jcraft.jzlib.* #3681

mkristian opened this issue Feb 18, 2016 · 8 comments
Assignees

Comments

@mkristian
Copy link
Member

the problem is that when you have library which compiles against jruby it might use com.jcraft.jzlib.GZIPInputStream but running this library as osgi bundle along side jruby-complete bundle, it fails when using com.jcraft.jzlib.* classes.

exporting the com.jcraft.jzlib.* for jruby-complete is not the right way as it may conflict with actual jcraft library.

with jruby-9k we moved most extension using external libraries to gems which embed those external libraries: psych, readline

doing this for the core/src/main/java/org/jruby/ext/zlib/ extension would remove the jcraft dependency.

but this means another github repo for jruby-zlib

@enebo @headius would that be OK to go for a jruby-zlib gem like jruby-readline ?

@mkristian mkristian self-assigned this Feb 18, 2016
@mkristian mkristian added this to the JRuby 9.1.0.0 milestone Feb 18, 2016
@mkristian
Copy link
Member Author

the library which fails me with jruby-complete is this https://github.com/mkristian/nexus2-internal/blob/master/plugins/rubygem/nexus-ruby-tools/src/main/java/org/sonatype/nexus/ruby/layout/HostedPOSTLayout.java#L35

the fix is trivial in the case - just use GZIPInputStream from java.util.zip - but the general problem remains

@headius
Copy link
Member

headius commented Apr 21, 2016

It would be fine with me to make a jruby-zlib gem if it helps isolate dependencies. The zlib library does not change particularly often. I don't think any of us are excited about another external repo, but this fits the pattern for the other libs (and I guess I haven't even given readline any thought for a while).

However...I think it might not be good to try to do this a few days before release :-) I'm punting to 9.1.1. Any concerns @enebo?

@headius headius modified the milestones: JRuby 9.1.1.0, JRuby 9.1.0.0 Apr 21, 2016
@mkristian
Copy link
Member Author

there is another osgi one: #3821

@headius headius modified the milestones: JRuby 9.1.1.0, JRuby 9.1.2.0 May 11, 2016
@enebo enebo modified the milestones: JRuby 9.1.2.0, JRuby 9.1.3.0 May 23, 2016
@headius
Copy link
Member

headius commented Aug 15, 2016

Do we have any progress on this, @mkristian?

@headius
Copy link
Member

headius commented Nov 8, 2016

@mkristian We could also shade this into a JRuby package, right? We never expose the jzlib API via the JRuby API.

@headius headius added this to the JRuby 9.1.7.0 milestone Nov 8, 2016
@headius headius removed this from the JRuby 9.1.6.0 milestone Nov 8, 2016
@headius
Copy link
Member

headius commented Dec 14, 2016

Removing from release.

@mkristian We can do this whenever you decide what's best.

@headius headius removed this from the JRuby 9.1.7.0 milestone Dec 14, 2016
@mkristian
Copy link
Member Author

sorry not responding - did not see it.
having as extra internal gem is the cleanest way IMO
shading is also OK

in both cases we might brake projects which depends on it (like nexus-ruby-tools of mine :)
so the best is to do it with jruby-9.2.0.0 along with #3821

@headius
Copy link
Member

headius commented Jul 9, 2020

I don't know if we have made any more progress on this. @mkristian Can you confirm this is still a problem?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants