Skip to content

Commit f4dbf14

Browse files
committed
update REQUIREMENTS to differentiate between building and running
1 parent fb579b1 commit f4dbf14

1 file changed

Lines changed: 25 additions & 17 deletions

File tree

REQUIREMENTS.md

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,40 @@ None
44

55
## Software Requirements
66

7-
> This demo can be run with Docker or Nix. If you intend to use one of them, you may skip to the last section in this document.
8-
97
We do not require a certain operating system or prepared environment.
108
For downloading this demo, we recommend Git (installing Git is explained in [this article](https://github.com/git-guides/install-git)).
11-
The setup is tested on Windows 10, WSL2, Manjaro, Ubuntu, NixOS and MacOS Monterey.
9+
The setup is tested on Windows 10, WSL2, Manjaro, and NixOS.
10+
11+
**Executing the demo consists of two steps**: _building the project_ and _running the demo_.
12+
Each step has its own software requirements.
13+
14+
15+
### Requirements for Building
16+
17+
This demo can be built _either_ manually _or_ using Docker _or_ using Nix.
18+
You may choose one of these setups.
19+
If you intend to use this project to develop your own library or application based on DiffDetective, we recommend the manual build.
20+
21+
#### Requirements for Building Manually
1222

13-
### Toolchain
1423
This demo is a Maven project based on Java 17.
1524

1625
To build the demo, a [Java development toolkit](https://www.oracle.com/java/technologies/downloads/) of version 17 or higher, and [Maven](https://maven.apache.org/) are required.
1726

18-
To run the demo, graphviz should be installed. You may find installation instructions for graphviz [here](https://graphviz.org/download/).
19-
You may run the demo without graphviz but the demo will print an error to the terminal and DiffDetective cannot compute a layout for visualizing graphs.
20-
So the GUI may appear differently as in the screencast (see _Expected Output_ section in [INSTALL.md](INSTALL.md)).
21-
22-
### Java Dependencies
2327
The demo has few dependencies, most of which will be handled automatically by Maven.
2428
The dependencies are documented in the Maven build file ([pom.xml](pom.xml)).
2529
The only dependency that must be installed manually is our tool and library DiffDetective, which is also a Java Maven project.
2630
Installing DiffDetective follows the default maven workflow and is explained on the [DiffDetective website](https://variantsync.github.io/DiffDetective/) and README.
2731

28-
## Virtualization: Docker or Nix
29-
For easy replication, this demo also comes with a Nix package and a Docker container, which can be used on any system supporting Nix or Docker, respectively.
30-
The Nix and Docker setup will take care of all requirements and dependencies (including DiffDetective) and will build the demo to a single runnable JAR file.
31-
_Note_: Nix and Docker are neither required by the demo nor DiffDetective! They only serve to ease the setup for you.
32-
33-
### Docker
32+
#### Requirements for Building with Docker
3433

3534
How to install Docker depends on your operating system:
3635

3736
- _Windows or Mac_: You can find download and installation instructions [here](https://www.docker.com/get-started).
3837
- _Linux Distributions_: How to install Docker on your system, depends on your distribution. The chances are high that Docker is part of your distributions package database.
3938
Docker's [documentation](https://docs.docker.com/engine/install/) contains instructions for common distributions.
4039

41-
### Nix
40+
#### Requirements for Building with Nix
4241

4342
How to install Nix, also depends on your operating system.
4443
Head to the [NixOS website](https://nixos.org/download/) and follow the installation instructions for your system.
@@ -49,4 +48,13 @@ Instead, you can use Nix from within Windows Subsystem for Linux (WSL2).
4948
However, we do not recommend using Nix on Windows, except if you are already familiar with WSL2, Nix, and XServers.
5049
We recommend using Docker or a manual setup instead.
5150
Running the Demo from within WSL2 requires an XServer.
52-
We recommend [VcXsrv](https://sourceforge.net/projects/vcxsrv/).
51+
We recommend [VcXsrv](https://sourceforge.net/projects/vcxsrv/).
52+
53+
### Requirements for Running
54+
55+
To run the demo, a [Java development toolkit](https://www.oracle.com/java/technologies/downloads/) of version 17 or higher is required.
56+
57+
As an _optional_ dependency, running the demo uses graphviz.
58+
You may find installation instructions for graphviz [here](https://graphviz.org/download/).
59+
You may run the demo without graphviz, in which case the demo will print an error to the terminal and DiffDetective cannot compute a layout for visualizing graphs.
60+
In this case, the GUI may appear differently as in the screencast (see _Expected Output_ section in [INSTALL.md](INSTALL.md)).

0 commit comments

Comments
 (0)