Bug 491098 - DOT Graph View - Bundle native dot executable for layout and image export.
Summary: DOT Graph View - Bundle native dot executable for layout and image export.
Status: NEW
Alias: None
Product: GEF
Classification: Tools
Component: GEF DOT (show other bugs)
Version: 0.2.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: gef-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2016-04-05 11:04 EDT by Alexander Nyßen CLA
Modified: 2020-12-10 07:21 EST (History)
2 users (show)

See Also:


Attachments
Rebase of the patch (363.55 KB, text/plain)
2018-01-12 08:07 EST, Zoey Gerrit Prigge CLA
no flags Details
Simple Hacked Script to Start Windows CMake built process (275 bytes, text/plain)
2018-02-15 09:58 EST, Zoey Gerrit Prigge CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Nyßen CLA 2016-04-05 11:04:00 EDT
As requested by CQ 11140, we should bundle the dot executable as part of GEF4 DOT, so the user would not have to provide a link to an installed dot executable via the preferences.
Comment 1 Tamas Miklossy CLA 2016-12-05 14:36:52 EST
This issue is related to https://github.com/ellson/graphviz/issues/82
Comment 2 Tamas Miklossy CLA 2017-12-02 07:25:25 EST
Graphviz Gitlab issue: Please help for graphviz building!
https://gitlab.com/graphviz/graphviz/issues/1244
Comment 3 Tamas Miklossy CLA 2018-01-12 06:19:49 EST
I have just implemented some test cases und /org.eclipse.gef.dot.tests/src/org/eclipse/gef/dot/tests/DotExecutableLayoutingTests.java to test that the installed and the self-compiled graphviz dot executable produces the same layouting information.

Before executing these test cases, the dotExecutableInstalled and the dotExecutableBuild variables have to be properly specified.
Comment 4 Zoey Gerrit Prigge CLA 2018-01-12 08:07:43 EST
Created attachment 272240 [details]
Rebase of the patch

I created a fork of the graphviz repository and created a branch upon which I rebased the minimal graphviz patch.

During rebase I had to make some choices regarding deletion/keeping of diverged files. I dumped the history and added the output of git rebase master --verbose after applying the initial patch for future reference.
Comment 5 Zoey Gerrit Prigge CLA 2018-01-12 08:09:33 EST
The link to the forked repository:

https://gitlab.com/prggz/graphviz/tree/minimal
Comment 6 Eclipse Genie CLA 2018-02-02 05:26:00 EST
GitHub Pull Request 13 created by [prggz]
https://github.com/eclipse/gef/pull/13
Comment 7 Tamas Miklossy CLA 2018-02-02 06:18:42 EST
Thanks for your contribution, Zoey! I merged your Pull Request into the origin/master branch.
Comment 8 Zoey Gerrit Prigge CLA 2018-02-15 09:50:07 EST
The minimal version based in the repository (see #5) builds fine as static build under ubuntu and under cygwin using the same process as laid out by alexander (see #2).

However, because we can't have a cygwin dependency, we need to get the native Windows build to work. 

As of 2017 Graphviz seems to be built using CMake and Visual Studio 2015.
The appveyor build process is described here:
https://ci.appveyor.com/project/ellson/graphviz-pl238

I will attach a basic power shell script that I am using for built purposes. The full build can be reproduced.

However, the current CMake configuration has no options to deselect unused libraries or to have a static build.

Hence, I have opened an issue on Graphviz asking for the build process for a static Windows build.
https://gitlab.com/graphviz/graphviz/issues/1331
Comment 9 Zoey Gerrit Prigge CLA 2018-02-15 09:58:15 EST
Created attachment 272683 [details]
Simple Hacked Script to Start Windows CMake built process

The script is based on the appveyor built. It was not intended for production use, but to be able to quickly test CMakeList changes.

It should be started from the graphviz git clone's root directory.

It cleans resets and cleans the git repository, so any changes that were not committed locally will be deleted. This is to remove any artifacts from previous builds.
Comment 10 Tamas Miklossy CLA 2018-03-23 03:32:24 EDT
Use graphviz with pure java: https://github.com/nidi3/graphviz-java
P2 update site: https://github.com/kris7t/graphviz-java-p2
Comment 11 Tamas Miklossy CLA 2020-06-01 02:38:24 EDT
See also: https://gitlab.com/graphviz/graphviz/-/issues/1219
Comment 12 Tamas Miklossy CLA 2020-12-10 07:21:19 EST
See also: https://gitlab.com/graphviz/graphviz/-/issues/1884