Skip to content

Does not compile using JDK 10 or above #4

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

Closed
FibreFoX opened this issue Oct 2, 2018 · 3 comments
Closed

Does not compile using JDK 10 or above #4

FibreFoX opened this issue Oct 2, 2018 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@FibreFoX
Copy link

FibreFoX commented Oct 2, 2018

Same as the older u2f-project (Yubico/java-u2flib-server#38), this webauthn-server does not compile using JDK 10 or JDK 11.

This is mostly because the used Scala fragments are not yet supporting these JDK-versions:
scala/scala-dev#559
scala/scala#7218

This is even documented on their website: https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html#jdk-9--up-compatibility-notes

As Webauthn is in Rec-state (https://www.w3.org/TR/webauthn/), upcoming developers might want to use a more up2date JDK, mostly because Java 8 support will get dropped in 2019 from Oracle (https://www.oracle.com/technetwork/java/eol-135779.html), and 2023 from Redhat (https://access.redhat.com/articles/1299013).

Maybe somewhere should be stated, why some parts are made in Scala and other parts are not, just to state the design decision a bit more (or releasing some plan which parts might get reworked on).

I do know that this project says it's work in progress, but just wanted to have this issue addressed so it can get referenced (and for other developers being stated to now work with these JDKs).

@emlun emlun added the bug Something isn't working label Oct 2, 2018
@emlun emlun self-assigned this Oct 2, 2018
@emlun
Copy link
Member

emlun commented Oct 3, 2018

Thanks for the report! I can confirm that the project as a whole currently does not build in JDK 10, but the main artifacts of the core and demo projects do. Scala is used only for the tests. So, these Gradle tasks do succeed in JDK 10:

./gradlew :webauthn-server-core:jar :webauthn-server-demo:war

Note that simply ./gradlew jar does not work, since that expands to a task list containing :yubico-util-scala:jar - which is only used referenced in the tests, so it's not included by the previous command.

I've also confirmed that importing the jar into an unrelated project works in both JDK 8 and 10, regardless of which JDK was used to build the jar.

So, in conclusion: Development of the library is currently only supported in JDK 8, but users of the library can use JDK 8 or (probably) any later version. I'll add some documentation of this to the project README.

@emlun
Copy link
Member

emlun commented Oct 3, 2018

I've updated the README and made the necessary additions to get the demo server to run in JDK 10, so these tasks now work in JDK 10:

$ ./gradlew :webauthn-server-demo:appRun
$ ./gradlew :webauthn-server-demo:run

Documentation of the difference between the two is upcoming...

Thanks again for the report!

@emlun emlun closed this as completed Oct 3, 2018
@emlun
Copy link
Member

emlun commented May 28, 2019

I'm very pleased to announce that the tests can now be built in all three of JDK8, JDK10 and JDK11! This means the project as a whole can be built in any of these JDKs, but user-facing functionality is not affected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

2 participants