brettwooldridge / NuProcess

Low-overhead, non-blocking I/O, external Process implementation for Java
Apache License 2.0
710 stars 84 forks source link

Release 2.0.2 is broken on Java 8 #128

Closed slandelle closed 2 years ago

slandelle commented 3 years ago

Hi there,

It seems 2.0.2 release was built with JDK 9+, causing the dreaded java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer; on Java 8.

Regards

slandelle commented 3 years ago

Hi @brettwooldridge ,

Would it be possible to release 2.0.3, this time built with Java 8?

Best regards

ncharles commented 2 years ago

That would be awesome indeed

reubenfirmin commented 2 years ago

+1. We're using Kotlin, with JDK 1.8.

bturner commented 2 years ago

While I've made some contributions here, unfortunately I'm not a maintainer so I can't directly help. Because there are NuProcess fixes we've needed for Bitbucket Server, we've had to switch to using a fork of NuProcess so we can get patches when we need them. (No offense intended to any maintainers; I'm simply acknowledging that it's not your responsibility to merge pull requests on my schedule.)

Anyway, the reason I comment is that, if anyone wants, you're also welcome to use our forked build. (You can add packages.atlassian.com as a Maven repository if you wish, but you don't have to.) You can see the source here on Github. The 2.0.2-atlassian-1 and 2.0.2-atlassian-2 tags, in particular, have everything from the canonical 2.0.2 tag, plus pull requests #125 and #130. One other thing I'll note is that our fork requires SLF4J, rather than using Java Logging. That may or may not be desirable for some.

Hopefully a canonical 2.0.3 will happen sometime soon (but I have no insider information on that).

slandelle commented 2 years ago

@bturner Thanks for the heads up. I ended up doing the same and deployed on maven central in our own groupId. Do you plan to publish public artifacts?

bturner commented 2 years ago

@slandelle - Our artifacts are already public, in that you don't need to authenticate against packages.atlassian.com to use them. We're probably not going to publish them to someplace like Central, especially since we didn't go the route of using our own groupId like you did; inserting atlassian into the version is our normal approach for forks.

slandelle commented 2 years ago

@bturner Thanks.

netsrotr commented 2 years ago

The issue is now more than a half year old, time for a public release... please!?

bturner commented 2 years ago

FYI, @brettwooldridge has very kindly added me as a collaborator on this repository. I'm currently working through the process of getting the access I'll need to be able to perform and deploy a 2.0.3 release. I can't give an exact timeline, but for those watching this, please know I'm working on it.

bturner commented 2 years ago

My apologies to everyone for the significant delay (I was changing jobs), but I have released 2.0.3. The CI configuration for this repository has atrophied, but I manually tested the changes on Windows (11, x64), macOS (Monterey, x64) and Linux (Fedora 36, x64) prior to releasing. This new release was built with Java 8. (Technically the bytecode configuration in Maven is Java 7, but it's not really possible to release to Central using Java 7 in 2022, as far as I can tell. For anyone still using NuProcess with Java 7... 2.0.3 may still be broken.)

If anyone runs into issues, please let me know.

slandelle commented 2 years ago

@bturner Thanks a lot!