The CLJS compiled uses deprecated modules on Java 9

Description

Running the shipping REPL fails with Java 9:

For Quick Start, the very first build command under "Let's build some ClojureScript" fails:

The javax.xml.bind package was deprecated in Java 9 and moved to a module, which requires adding --add-modules java.xml.bind to your REPL command line. It would be great if clojurescript didn't depend on the deprecated javax.xml.bind package in the first place.

Environment

OSX Java 9

Activity

Show:
Mike Fikes
December 1, 2017, 9:22 PM

Confirmed fixed with downstream project and Java 9.

Mike Fikes
November 17, 2017, 9:44 PM

Attached a CLJS-2377-3.patch that further brings the perf of bytes-to-hex-str to less than a factor of 2 of DatatypeConverter/printHexBinary.

Mike Fikes
November 17, 2017, 3:22 PM

I'm a bit concerned about the perf of bytes-to-hex-str in the previous CLJS-2377.patch because it is about 200 times slower than DatatypeConverter/printHexBinary and it can used by content-sha on fairly large strings (source files, for example). Attaching a revision CLJS-2377-2.patch which falls within a factor of 5 of DatatypeConverter/printHexBinary.

Mike Fikes
November 15, 2017, 3:56 PM

Attached a patch (CLJS-2377.patch) which addresses an issue (extra argument) in previous patch, adds tests, and covers both places where the DatatypeConverter code was being used.

Completed

Assignee

David Nolen

Reporter

import

Approval

Accepted

Patch

Code and Test