Skip to content

Conversation

@tobias
Copy link
Collaborator

@tobias tobias commented May 27, 2016

This includes three changes:

  • Exclude the dynapath that comes in from bultitude and pomegranate, and
    depend directly on a newer version that operates properly under Java 9
  • Ensure we have a modifiable classloader before asking pomegranate to
    modify it. Before Java 9, the AppClassLoader was a URLClassLoader, and
    therefore modifiable. This is no longer the case with Java 9.
  • Remove duplicated classpath init code from eval-in :leiningen, and
    replace it with a call to project/init-lein-classpath. This required
    making the latter function public.

These changes allow some lein functionality to work under Java 9 - there
is a Java 9 issue with data.xml that needs to be fixed before lein's
tests can all pass (http://dev.clojure.org/jira/browse/DXML-32).

Once bultitude and pomegranate are updated to use the newer dynapath,
the exclusions here can be removed.

This resolves the primary issue in #2149.

Doing this as a PR to get a second set of eyes on it to make sure I'm not inadvertently breaking something.

This includes three changes:

* Exclude the dynapath that comes in from bultitude and pomegranate, and
  depend directly on a newer version that operates properly under Java 9
* Ensure we have a modifiable classloader before asking pomegranate to
  modify it. Before Java 9, the AppClassLoader was a URLClassLoader, and
  therefore modifiable. This is no longer the case with Java 9.
* Remove duplicated classpath init code from `eval-in :leiningen`, and
  replace it with a call to `project/init-lein-classpath`. This required
  making the latter function public.

These changes allow some lein functionality to work under Java 9 - there
is a Java 9 issue with data.xml that needs to be fixed before lein's
tests can all pass (http://dev.clojure.org/jira/browse/DXML-32).
@hypirion hypirion merged commit 0bf4ffe into master Aug 21, 2016
hypirion added a commit that referenced this pull request Aug 21, 2016
Conflicts:
	leiningen-core/src/leiningen/core/eval.clj
@hypirion
Copy link
Collaborator

This seems straightforward enough, and I've not seen anything strange when I've used it so I presume it's good. Thanks!

@technomancy technomancy deleted the java-9 branch May 5, 2017 22:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants