vt-middleware / ldaptive

A simple, extensible Java API for interacting with LDAP servers
56 stars 26 forks source link

support JDK 8 in maven releases #179

Closed terefang closed 4 years ago

terefang commented 4 years ago

hello

i have included the maven dependency in a jdk8 project and getting byte-code version errors on compilation.

please provide a version compatible with jdk8 in maven.

thanks in advance

dfish3r commented 4 years ago

The decision to move to java 11 was made based on Oracle's EOL timeline for java 8 at the time. Oracle has since walked back their support deadlines, but we made the best decision we could at the time.

I'm reviewing what code changes would be needed to support a java8 version, but at this point I'm not sure of the scope of that work.

xweskingx commented 4 years ago

@dfish3r @terefang - I have already completed the work to port the src to jdk8. There may be some additional changes to get the tests also working in jdk8.

Here is a PR which contains those changes: https://github.com/vt-middleware/ldaptive/pull/180

If I complete the changes to fix the tests, would you want this checked into a separate branch from master?

dfish3r commented 4 years ago

Wow, nice work. I started a branch to test out one possibility which keeps everything on the master branch. https://github.com/vt-middleware/ldaptive/pull/181

For now a PR against master is fine. Thank you for contributing.

terefang commented 4 years ago

@xweskingx good work

@dfish3r as for the JDK8 EOLness ...

even IBM thinks to keep jdk8/jre8 around at least till 2025. see https://www.ibm.com/support/pages/java-sdk-lifecycle-dates

thx

dfish3r commented 4 years ago

Latest master can be used to build a Java 8 jar using mvn -P-jdk11,jdk8 package I also published a -jdk8 jar to the snapshot repository.

Kudos to @xweskingx for providing a patch.

dfish3r commented 4 years ago

So I had to give up on using a classifier to support JDK8, it just didn't play nice with the way the artifact bundle was created. Consequently the coordinates for the artifact have changed.

using this repository:

  <repository>
    <id>vt-middleware</id>
    <name>Middleware Open Source Repository</name>
    <url>https://raw.github.com/vt-middleware/maven-repo/master</url>
  </repository>

you can declare this dependency:

  <dependency>
    <groupId>org.ldaptive</groupId>
    <artifactId>ldaptive-jdk8</artifactId>
    <version>2.0.1-SNAPSHOT</version>
  </dependency>

Can you confirm this works for your JDK8 use case? Thanks.

dfish3r commented 4 years ago

Ping @terefang @xweskingx

xweskingx commented 4 years ago

@dfish3r Tested with the build from the repo listed above, looks to be working well for my use case. Thanks!

dfish3r commented 4 years ago

Thanks @xweskingx. I'll publish the jdk8 artifacts to maven central with the next release.

sysmat commented 2 years ago

will be this supported , 2.0.1-SNAPSHOT is not a proper version for distribution, if app use it it can't create app release