-
-
Notifications
You must be signed in to change notification settings - Fork 396
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
visualize is failing #1652
Comments
I tried mill 0.10.0 and got the same failures. |
Please add a the output |
|
There are a few current issues with visualize task/graphviz (if we want to support JDKs 8 and newer):
All in all, deps should look something like this: val graphvizJavaMin = ivy"guru.nidi:graphviz-java-min-deps:0.18.1"
val svgSalamander = ivy"guru.nidi.com.kitfox:svgSalamander:1.1.3" // needed for SVGs
val vizJsJava = ivy"org.webjars.npm:viz.js-graphviz-java:2.1.3" // JS impl of graphviz
val graalJS = ivy"org.graalvm.js:js:21.0.0" // js engine for jvm
val jgraphtCore = ivy"org.jgrapht:jgrapht-core:1.4.0" // 1.5.0+ dont support JDK 8 I tried to do the upgrade, but getting a
It is almost like Btw I am not sure how current impl works, since I cant find |
From looking at all these deps, we should use a dedicated worker with isolated classloader, to avoid loading all this stuff into Mill core. I think it would probably be also ok to just use a locally installed graphviz binary to render the graph, if the Java runtime isn't any longer able to run it. |
I mean, the graph is nice, but we could also just spit out the dot file, couldn't we? |
Yeah, that would be the best probably:
|
Seems like I was overcomplicating things a bit... |
Fixes #1652 1. use graphviz-java-all-j2v8 instead of graphviz-java (now as transitive dependency) Following instructions from graphviz-java [docs](https://github.com/nidi3/graphviz-java#maven ) they say: > gradle does not support this way of defining a dependency > Instead of graphviz-java there are two alternative dependencies that can be used: > - graphviz-java-all-j2v8 additionally contains dependencies to all J2V8 platforms. So the same application can run on Linux, Mac OS X and Windows. > - graphviz-java-min-deps contains only dependencies that are absolutely necessary. All other dependencies are marked as optional and must added manually. See the [pom.xml](https://github.com/nidi3/graphviz-java/blob/master/graphviz-java-min-deps/pom.xml#L64-L90) for details. 2. downgrade jgrapht since 1.5.0+ dont support JDK8 https://github.com/jgrapht/jgrapht#dependencies This adds around 3MB of extra dependencies. The upside is that it works on all JDK: 8, 11 and 17! (tested locally on win10) Pull request: #1872
When I try to run the
visualize
task, it always fails, the second time differently than the first time:This is with both 0.9.9 and 0.9.11 on Linux.
It looks as if this was reported before in #363, but I wonder what the resolution was. Passing the
-i
option to mill (as seems to be indicated in #363's last comment) does not help.The text was updated successfully, but these errors were encountered: