Skip to content
Luc Moreau edited this page Mar 22, 2024 · 40 revisions

1. Build Requirements

To build ProvToolbox, you need the following to be available in your executable PATH:

  • xmllint: the xmllint, xml schema validator, needs to be in the path for prov-xml to compile
  • dot: the dot executable (graphviz) needs to be in the path for prov-dot to compile
  • provconvert: the provconvert executable (generated by this package) is required to be on the path to execute tutorial6. See binary install, see travis configuration file.
  • mongodb running on the default port. I run it in Docker with the following command.
docker run --name mongo0 -v ${HOME}/docker/mongo0:/data/db -p 27017:27017 -d mongo:latest
  • redis running on the default port. I run it in Docker with the following command.
docker run --name redis0 -v ${HOME}/docker/redis0:/data  -p 6379:6379 -d redis redis-server --appendonly yes
  • json-ld (version 3.0.2)
gem install json-ld -v 3.0.2

On linux:

  • rpm: to create rpm files
  • genisoimage: to create dmg image for macos x

The Travis configuration file lists explicit dependencies for a successful build https://github.com/lucmoreau/ProvToolbox/blob/master/.travis.yml

2. Building from source

To install from source, you need to checkout the source code and compile it as follows.

ProvToolbox compiles with the recent versions of JDK 21 and 22. However, the template compiler relies on jsweet, a transpiler to generate TypeScript and Javascript libraries, which necessitates a much older version of the JDK.

ProvToolbox can then be built with the following command, which explicitly passes a path to a JDK 12.

mvn -Djava12.home=/usr/local/java/jdk-12.0.1.jdk/Contents/Home/ clean install.

2.1 Building on MacOSX

Installation on MacOSX requires the following configuration:

$ export MAVEN_OPTS=-Xmx512m
$ mvn install

Thanks to Satra (see https://github.com/lucmoreau/ProvToolbox/issues/44#issuecomment-11319862)

3. Installing Binary Release

Examples below assume release 0.9.29, see also [[Releases]].

3.1 RPM (Red-Hat Package Manager) binary release

rpm -U https://repo1.maven.org/maven2/org/openprovenance/prov/provconvert/0.9.29/provconvert-0.9.29.rpm

(TODO: Update RPM to 0.9.5)

3.2 Debian binary

wget https://repo1.maven.org/maven2/org/openprovenance/prov/provconvert/0.9.29/provconvert-0.9.29.deb

followed by:

dpkg --install provconvert-0.9.29.deb

3.3 MacOS X installer

no longer supported

3.4 Other Platforms

Otherwise, there is no installer per se, but there is a zip archive, containing a binary executable provconvert in the bin/ subdirectory. The latest binary release can be found at:

3.5 Windows

While installation on Windows is not yet officially supported (#166), a guide to installing ProvToolbox in Windows details the steps required, including installation of OpenJDK and Graphviz.

4. Online Service

A service wrapping ProvToolbox and provconvert and offering a REST API to access the functionality

5. Man pages

https://github.com/lucmoreau/ProvToolbox/wiki/provconvert

6. Maven repository

ProvToolbox is now deployed on Maven central. There is no need to configure repositories.

For desired version use the equivalent of the below in your pom.xml:

  <dependencies>
    <dependency>
      <groupId>org.openprovenance.prov</groupId>
      <artifactId>prov-model</artifactId>
      <version>0.9.29</version>
    </dependency>
    <dependency>
      <groupId>org.openprovenance.prov</groupId>
      <artifactId>prov-interop</artifactId>
      <version>0.9.29</version>
    </dependency>
  </dependencies>

7. Javadoc

8. Key Dependencies